Web应用渗透测试经验教训1.0

一、基础设施的选择
  1. JDK、应用程序服务器(例如:Tomcat)尽量选择较新版本,减少漏洞隐患。
  1. ui 框架和 js 框架
  • Bootstrap版本 ≥ 4.3.1(建议:4.6.2)参考文档
  • jQuery版本 ≥ 3.5.0(建议:3.7.1)参考文档 搜索 vulnerability 字样。
  1. 依赖组件(.jar包)也尽量选择没有漏洞(vulnerability)的版本。例如:
  • commons-fileupload 版本 ≥ 1.6.0
  • shiro 版本 ≥ 1.13.0
  • 。。

漏洞的发现是一个渐进的过程,所以要养成不断升级的习惯。

二、开发框架的选择
  1. 选择成熟稳定的框架 (Spring MVC 或 Spring Boot)
  2. 选择安全框架(如:Spring Security 或 Apache Shiro)
  3. 选择 ORM 框架(如:Hibernate、mybatis)
  4. 选择连接池(如:c3p0、HikariCP、dbcp)
  5. 选择加密算法库(建议:Bouncy Castle Provider)
  6. (前端)选择 js 框架(如:jQuery)
  7. (前端)选择 ui 框架(如:Vue.js、Bootstrap)
  8. (前端)选择加密库(如:crypto-js、sm-crypto)
三、开发套路或习惯
  1. 敏感信息不能明文传输,如:密码。
  2. hash 算法选择 SHA-256 或 SM3,而且记得加盐(Salt)。
  3. 账号密码必须要有一定复杂度,建议:>8位,数字、字母大小写(建议+符号)混合。
  4. 账号密码的匹配使用安全框架,而是不是用 Sql 语句查询。
  5. 所有的交互(表单和内部接口)都处于安全框架的会话保护。
  6. 对外接口添加 hash 验签。
  7. 所有数据库操作通过 ORM 框架进行,尽量减少原生 Sql 的拼凑。
    ORM框架一般有属性映射和参数化查询,一定程度上会规避 Sql 注入。

【完】

相关推荐
Mintopia8 小时前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
Mintopia8 小时前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
天若有情6739 小时前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
darkb1rd9 小时前
七、PHP配置(php.ini)安全最佳实践
安全·php·webshell
迎仔13 小时前
11-云网络与混合云运维:弹性数字世界的交通管理
网络·安全·web安全
pitch_dark13 小时前
渗透测试系统基础篇——kali系统
网络·安全·web安全
世界尽头与你13 小时前
(修复方案)基础目录枚举漏洞
安全·网络安全·渗透测试
ん贤13 小时前
一次批量删除引发的死锁,最终我选择不加锁
数据库·安全·go·死锁
独行soc13 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
翼龙云_cloud13 小时前
阿里云渠道商:阿里云 ECS 从安全组到云防火墙的实战防护指南
安全·阿里云·云计算