Web漏扫测试心得
由于实习工作的原因,需要采购一批web漏扫设备,需要进行测试。于是最近接触了好多厂商和他们的设备下面简单说一下自己的感想。
靶场
由于手头靶场的匮乏,暂时只在办公室的服务器中利用docker搭建了DVWA和WebGoat两个靶场。除此之外接受厂商自带的靶场,如果哪个厂商的靶场比较好就会选用这个靶场并用其他厂商的设备扫一下这个靶场来看看效果,最后还是通过控制变量的方法争取在同一个靶场的结果中对比多家厂商来看。
DVWA算是比较(非常)常见的靶场了,我原本以为厂商听到测试DVWA会感觉“窃喜”因为这个靶场实在是太低端了,可以说刚入门web安全的人才使用这个靶场练手。但事实好像和我想象的有些出入,大部分厂商在DVWA上的测试结果和我估计的有些出入。有些甚至感觉根本没有测过DVWA(按理说应该在研发阶段就经常用来测试的靶场,没想到都到了客户处测试,前来测试的测试人员居然没听说过DVWA)。
WebGoat这个靶场甚至绝大部分厂商不能进行测试,因为WebGoat这个靶场是使用Spring框架开发的,前后端完全分离的技术,并且控制前端页面显示的参数是通过url锚点后的数据来控制的。这让很多传统爬虫的设备完全无法爬取WebGoat的页面。具体我会在下面说明。
扫描方式
大部分厂商的设备都有爬虫扫描的功能,即是基于传统爬虫来爬取网站进而进行扫描。但对于目前的一些新技术比如前后端分离的网站,或前端是使用js渲染出来的网站,这种基于http协议的爬虫并不能很好或者说并不能爬取。未解决这种问题,不同厂商想出了不同的办法,有模拟真实浏览器执行js的,也有通过代理然后人工浏览网站进而实现被动扫描。
在扫描方式这里,A厂商的这台仅支持爬虫式的扫描,不能进行代理式或人工介入交互式的扫描,所以只能扫描传统的web网站如php,asp,jsp等,对于新的如VUE渲染的网站表现的比较无力。
B厂商的设备可以同时支持爬虫式的扫描和被动信息搜集扫描,无论什么扫描方式,整体流程分为信息搜集和漏