一、背景

这几天一直在研究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我们很多时候可以躺着去挖洞了,^_^


作者: 汤青松

日期:2020-12-04


汤青松
5.2k 声望8.3k 粉丝

《PHP Web安全开发实战》 作者