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

【完】

相关推荐
福大大架构师每日一题11 小时前
agno v2.9.0发布:身份感知调度、缓存隔离、安全加固与组件重建全面升级
安全·缓存
huangns12 小时前
混合多云零信任架构下的应用安全:WAF与应用层DDoS协同防护
安全·ddos·零信任·waf
数据知道13 小时前
网络安全实战:子域名接管实战——从 CNAME 配置错误到完全控制
网络·安全·web安全·网络安全
小新讲网安13 小时前
云安全攻防实战:AWS与阿里云渗透测试全流程指南
安全·web安全·网络安全·阿里云·自动化·云计算·aws
吴声子夜歌13 小时前
网络安全——身份认证
安全·web安全·身份认证
测试修炼手册15 小时前
[测试技术] 文件上传功能怎么测:格式、大小、并发与安全
安全
Aision_16 小时前
代码安全学习手记(二):SCA 软件成分分析原理与 OWASP Dependency-Check 集成实战
运维·人工智能·学习·安全·web安全·网络安全
虹科网络安全16 小时前
从33.2%降至4.2%:KnowBe4 2026报告揭示持续培训如何重塑企业安全防线
安全
是隼人17 小时前
buuctf-pwn bjdctf_2020_babystack2题解 整数溢出(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
艺杯羹17 小时前
古典密码学攻防演进全景:从凯撒移位、频率分析到一次一密与恩尼格玛机破译
网络·人工智能·安全·网络安全·密码学·密码安全