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 注入。

【完】

相关推荐
无障碍研究院6 小时前
2026TADC|圆桌对话:出海无障碍合规
安全·web安全
持敬chijing7 小时前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
无障碍研究院7 小时前
2026TADC|圆桌对话:软/硬件无障碍的过去、现在、未来
安全
乔旭伟7 小时前
Linux 服务器安全加固实战:SSH、防火墙、补丁与入侵排查
linux·服务器·安全
裕晟资质规划8 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
许彰午9 小时前
模拟实现堡垒机
安全·系统安全
Highcharts.js9 小时前
Highcharts 发布16项最新安全公告
人工智能·安全·性能优化·highcharts·可视化图表
救救孩子把10 小时前
AI面试八股文-14_14-MCP-Skill-Function Calling
人工智能·安全·面试·职场和发展·推理·mcp·functioncall
听说66612 小时前
信息安全工程师 - 第二十二章 网站安全需求分析与安全保护工程
网络·安全·web安全·网络安全·系统安全
大翻哥哥13 小时前
安全密码库:一款 Windows 本地离线密码管理器,数据只保存在自己的电脑上
安全