近年来 随着国际形势和网络空间环境日趋复杂 各方面对网络安全重视程度日益提升 网络安全也已纳入了国家战略。在此背景下 系统的安全测试与防护就显得越来越重要 项目组在进行基于owasp zap工具进行安全扫描过程中 对工具的使用及扫描流程进行了深入分析 对常规扫描方式进行了优化。
zap提供了强大的路径爬虫及漏洞扫描功能 常规方式下 可以通过配置代理来录制前台页面 点击系统页面功能后抓取网站路径 再通过“爬行”、“强制浏览目录”等功能进行路径的分析与扩展 最后通过“主动扫描”功能进行漏洞扫描 生成漏扫报告。但这种方式抓取到的网站路径并不能保证是系统的全量路径 也就可能会导致扫描结果不详尽。
我们的优化思路是利用工具脚本将系统全量路径整理出来 并批量导入到zap工具当中 再进行漏扫分析 这种方式得到的扫描结果就更全面。下面描述常见的.net框架 C#语言 和springboot框架 java 语言解决方案。
1..net框架
.net框架下,项目工程的物理路径即可直接转换为网站路径 通过编写python脚本 遍历工程内的目录文件 可直接转换为网站路径 基于该路径 zap可以在扫描过程中遍历系统全量路径及方法。
图1-1 路径转换python代码
图1-2 zap批量导入url功能
2.springboot框架
Springboot框架安全性更优 只对外提供API服务接口 无法直接访问物理路径 人工整理系统API接口繁琐且容易出纰漏。在此条件下 可以利用swagger插件将工程的全量API接口导出(json格式 再批量导入到zap工具中。
图2-1 swagger接口脚本下载位置
图2-2 zap批量导入api接口功能
导入后的接口并不包含登陆信息 可以在zap设置界面统一添加http头进行token等验证信息的配置,以便工具进行后续的自动扫描。



