一、背景
这几天一直在研究W13Scan
漏洞扫描器,因为对Python
不是太熟悉,所以进度有点慢,一直没看懂怎么将代理请求的数据转发到扫描队列中去,决定先熟悉熟悉这个功能再说;Rad爬虫最近比较火,于是就是就选择它了
W13scan 是基于Python3的一款开源的Web漏洞发现工具,它支持主动扫描模式和被动扫描模式,能运行在Windows、Linux、Mac上。
二、搭建靶场
在扫描之前我们需要准备一个靶场系统,这里我选择的是permeate
渗透测试系统,搭建方法在之前的文章已经写过了,这里就不再重新赘述,文章地址:
https://segmentfault.com/a/11... ,这里有几条关键的命令
搭建一个Mysql数据库,执行命令如下
docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306 mysql:5.6
搭建permeate,执行命令如下
docker run --name permeate_test --link mysqlserver:db -d -i -p 8888:80 daxia/websafe:latest
启动nginx和php-fpm,执行命令如下
docker exec permeate_test zsh -c "php /root/start.php"
上面的命令执行完毕之后,我们就可以访问靶场系统了,打开的网址为
http://youIp:8888/index.php
使用浏览器访问的界面如下图所示
在上图中可以看到已经显示了区块和板块,说明搭建成功,如果没有显示区块,有可能是数据库地址填写的不对,仔细看看安装文章就好了。
三、启动代理
接下来我们需要把W13Scan
使用代理服务模式启动,启动的命令如下所示
python3 W13SCAN/w13scan.py -s 0.0.0.0:7777
命令执行完毕之后,命令窗口会返回如下图所示信息
在上图中我们可以看到服务已经启动了,并提示扫描结果会存放在当前目录下的./W13SCAN/output/12_03_2020/
目录中,我们暂且知道有这样一个目录即可。
四、启动爬虫
接下来我就需要将我的请求都转发到W13Scan
漏洞扫描器中,因为我是不知道permeate
渗透测试系统有多少个页面的,而且人工去找速度慢不说,也不太现实;
为了快速排查整个站点的安全情况,所以用上了RAD爬虫去抓取整个网站的链接,同时将他的代理地址设置W13Scan
的代理服务地址,这样就相当于让让W13Scan
扫描器去扫描了整个站点。
启动rad爬虫并设置代理地址的命令如下所示
.\rad_windows_amd64.exe -t http://192.168.152.135:8888/home/index.php --http-proxy 127.0.0.1:7777
执行RAD爬虫命令之后,窗口返回的结果如下图所示
在命令执行窗口中我们可以看到RAD爬虫已经抓取到了部分的链接地址,说明我们的命令是正确的,晚一点再去./W13SCAN/output/12_03_2020/
目录中查看扫描结果就好了
如果不想使用rad爬虫,也可以把浏览器的代理地址设置为
127.0.0.1:7777
,然后自己去点击一些页面,这样就可以对你正在浏览的网站进行安全漏洞扫描,这里我就不用浏览器演示了;
五、查看结果
扫描一段时间之后,在W13Scan
扫描器的执行窗口中,我也看到扫描到安全漏洞的提示,但比较简要。
这里我直接去查看w13scan扫描器的扫描结果,打开扫描结果的执行文件如下所示
在上图中我们可以看到,扫描到了9个漏洞,分别有XSS、JS文件敏感内容匹配、.git泄露等类型。
有了这个W13Scan
我们很多时候可以躺着去挖洞了,^_^