记录一次安全扫描无法加载目标网站,导致扫描中断问题
问题描述
因项目需要进行安全测试,在进行web安全扫描的时候,提交扫描一会后就失败了,登录会话无法连接。
更换了 brupsuite、AWVS、APPScan 都不行,尝试对输入的登录凭证进行验证或以录制方式获取登录凭证,但在打开浏览器时都无法正常加载网页。
原因分析
- 登录凭证输入错误
多次检测所输入的凭证信息,无错误,排除该原因 - 内置浏览器兼容问题
brupsuite 使用录制方式加载网页异常,且使用内置的 IE 浏览器会有提示js脚本加载错误。但使用浏览器是可正常访问的。尝试使用外部设备浏览器,但在配置了代理后一直无法连接,考虑兼容性问题,保留该原因 - 软件问题
brupsuite 、AWVS 、appscan 均无法正常扫描,但对于其他网站如 百度,OWSAP BWA 等地址可正常扫描,排除该原因
处理结果
- 尝试无登录凭证扫描
无登录凭证时,可正常打开会话并进行扫描,但扫描到的只有 / 路径下的静态文件。 - 尝试增加 Cookie 等请求头参数
使用 appscan 中的自定义请求头,添加 Cookie 及 token 值,提交扫描,可正常扫描到对应网站的 URL 地址,但比对后发现,扫描的也只有部分目录,无法爬取完整的 site-map ,经排查后为多次请求后,token过期导致爬虫未能爬取完整的 site-map 。
与技术人员沟通后,确认原因为设置了 nginx 反向代理,爬虫无法通过反向代理打开对应会话,以致于内置浏览器加载网站失败。
- 最终处理
因技术有限,爬虫程序无法绕过反向代理,使用 brupsuite 的代理,截取浏览器的访问请求,生成对应的 site-map ,然后对该地址进行主动扫描。
总结
技术问题导致爬虫无法爬取反向代理的网站,打开对应会话失败。使用代理截取访问请求生成对应的 site-map 来做扫描,一个字就是:累。。。网页那么多的请求,要一个个点过去做提交,还不是做功能测试,真是。。。