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

【完】

相关推荐
天若有情6732 分钟前
详解Two Pair函数:「一次握手,一次挥手」,让函数调用更严谨、更安全
网络·c++·后端·安全·设计
xiatianxy5 分钟前
云酷有限空间监测设备安全管理模式的升级
安全·有限空间作业·有限空间监测设备
尼古拉斯·纯情暖男·天真·阿玮36 分钟前
实验四 恶意软件实验
网络·安全·智能路由器
上海云盾-高防顾问1 小时前
WAF规则自定义实战指南:精准防护零误判
爬虫·安全·web安全
运维行者_1 小时前
Applications Manager 引入持续剖析技术,突破传统 APM 监控瓶颈
java·运维·网络·jvm·数据库·安全·web安全
冬奇Lab2 小时前
【Kotlin系列07】类型系统深度解析:从空安全到智能类型推断的设计哲学
android·开发语言·安全·kotlin
黄美美分享2 小时前
【音频编辑工具】跨平台轻量音频编辑器!音频剪辑工具!新手也能玩转专业处理
windows·安全·音视频
LittroInno2 小时前
低空安全新利器:MS2 光电无人机识别跟踪系统深度解析
人工智能·安全·无人机·热红外
TGC达成共识2 小时前
入冬美食顶流科学尝鲜:从舌尖到健康的双重守护
科技·其他·安全·百度·生活·美食·节日
独行soc2 小时前
2026年渗透测试面试题总结-2(题目+回答)
android·java·网络·python·安全·web安全·渗透测试