W13Scan 扫描器挖掘漏洞实践
一、背景
这段时间总想捣鼓扫描器,发现自己的一些想法很多前辈已经做了东西,让我有点小沮丧同时也有点小兴奋,说明思路是对的,我准备站在巨人的肩膀去二次开发,加入一些自己的想法,从freebuf
中看到W13Scan
扫描器,觉得这个扫描器很酷,准备深入研究。
因为我是做PHP开发的,对python不算太熟悉,所以在安装过程中出现了一些问题,把解决方法记录下来,给需要的人一个参考吧。
二、安装python
W13Scan
是基于python3
开发的扫描器,要运行它我们需要安装python3.5
以上版本,可以从python
官网下载安装,我这里安装的是python3.6
,安装之后打开CMD窗口,执行python
或者pip
命令,看看是否自动加入到了环境变量,如下图所示
在上图中可以看到,python
安装目录还没有加入到环境变量,因此pip
命令没有找到,我们找到python
的安装目录,将上方的python路径复制出来,
并打开右击我的电脑,找到高级设置,环境变量里面,如下图所示
在上图中,我已经将python
的目录和pip
的路径添加到系统的path
项中,接下来我们重新打开一个cmd
窗口,再次运行一下pip命令,如下图所示
从上图中可以看到,我已经成功将pip目录添加到环境变量中
三、安装依赖
接下来我们需要将W13Scan
的模块安装下来,找到刚才下载的项目目录,在Windows10
系统中按住shift
键,然后按下鼠标右键,就可以看到“在此处打开PowerShell窗口”选项,我们点击该选项,如下图所示
进入powershell窗口后,我们执行pip install -r /requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
命令,如下图所示
命令执行后,可能会有部分模块安装不上,需要你去python
官网手动下载对应模块的源码去安装,如下图所示
如果遇到上图这种情况不要沮丧,有一种快速的解决办法,我们使用pycharm
编辑器,可以快速解决这个问题,如下图所示
在上图中,可以看到使用pycharm
打开requirements.txt
,将鼠标放到需要安装的模块上,会自动弹出安装提示,我们点击安装就可以进行安装了;还有一种方式,在打开requirements.txt
时候,会自动将所需要安装的都列出来,这个时候我们可以一次安装所有的依赖模块,如下图所属
在上图中我们将模块勾选后,然后按下install
按钮,就可以安装所有模块
四、开始运行
在安装好依赖模块后,就可以开始运行了,运行有两种模式,主动扫描和被动代理,我这里就以主动扫描为例,要先准备一个带有参数的URL地址,这个地址我是从谷歌搜索的,搜索关键词如下所示
inurl: php id=
搜索结果的结果如下所示
python W13SCAN\w13scan.py -u "http://www.crammed.be/index.php?id=7"
执行结果如下图所示
在上图中可以看到,已经扫描到了URL
中的SQL
注入漏洞,并提示了保存路径,我们按照路径打开相应的文件就可以看到扫描结果,如下图所示
在上图中可以看到扫描结果中显示了,poc
的名称以及脚本路径,扫描的URL
地址;扫描的结果和发送的数据包以及返回的数据包
五、阅读源码
W13Scan
扫描器完全开源,我准备深入学习并站在巨人的肩膀上开发,因此准备去深度学习源码,在读源码的过程中发现pycharm
提示了错误信息,但是却不影响运行,如下图所示
在上图中可以看到lib
模块出现红色警告,提示该模块找不到,原因是因为我们使用pycharm
打开的目录错了,我们应该要打开的的项目目录是从GitHub下载下来的子文件夹W13SCAN
目录
在上图中,我们用pycharm
重新打开此目录,然后再次打开w13scan.py
文件,效果如下所示
在上图中可以看到,已经不再出现红色警告,我们也可以用鼠标+ctrl
跳转源码