如何自己开发漏洞扫描工具( 二 )

编码改成功后,再通过 python consoleMain.py 入口调用就没有这个错误了 。
5、报list index out of range错误
这个低级错误,一般是使用不当引起,但也看出了代码的健壮性不足,比如执行exec attacks.xss报错如下:

如何自己开发漏洞扫描工具

文章插图
 
我们可以看到报错的params.py文件具体那一行,就是self.url.split("?"),问题出在这个问号,因为我开始设置扫描路径是:set url http://172.16.1.63,这是错误的,应该如下设置:
set url http://172.16.1.63/?u=admin一眼就看出来了,得加个?问号,表示带参数,这个问题可以直接改他的代码,加个判断,如果不带参数,就提示重新设置,而不是报错 。另外这块也说明还需要进一步扩展开发,正常应该由扫描工具主动去扫描和捕获可以进行xss跨站脚本攻击的链接和地方,而不是手动设置url来模拟攻击 。
6、执行myproxy.bat找不到mitmdump
明明我们都装了mitmdump,为什么还可能找不到,这是因为pip安装时,是局部还是全局安装,正常mitmdump是安装在python目录下的Scripts中,如D:ToolsPythonScripts,假如你没找到,那就需要在代码路径下搜索,是否装在代码目录下了,比如在:SafeTool-51testingvenvScripts
这是因为我们用PyCharm Community Edition开发工具来安装部署可能遇到的问题,我们要么挪一下mitmdump,要么直接改myproxy.bat,改一下调用路径:
"D:Program FilesProjectSafeTool-51testingvenvScriptsmitmdump" -q -s myproxy.py -p 80007、生成报告的问题
开源的代码里关于这块也是有问题的,具体下面也会提到简单的修改方式。
简单使用先打开我们的扫描器看下界面:
如何自己开发漏洞扫描工具

文章插图
 
扫描器界面:
如何自己开发漏洞扫描工具

文章插图
 
好了,上面就是我们的扫描器,全部使用命令操作,简单易记,大家跟着敲就可以了 。
  • help命令使用
help: 列出集成的插件命令和描述 。
如何自己开发漏洞扫描工具

文章插图
 
我们开始扫描之前要做些基本的设置,输入help set命令,查看我们需要设置那些参数,带*号的是必选项.
如何自己开发漏洞扫描工具

文章插图
 
  • info 命令
info :显示详细的漏洞检测模块
info 命令的使用格式是: info [插件名称],插件名称就是上图中输入help命令得到的 。
输入info attacks:
如何自己开发漏洞扫描工具

文章插图
 
输入info audit命令:
如何自己开发漏洞扫描工具

文章插图
 
可以看到audit插件下的检测模块太少了,后期我们需要加入Tomcat、Nginx、weblogic等等的扫描模块。
输入info brute命令:
如何自己开发漏洞扫描工具

文章插图
 
输入 info disclosure:
如何自己开发漏洞扫描工具

文章插图
 
  • set命令:
在进行扫描之前需要进行基本的设置工作,通过help set命令查看可以设置的选项,在通过set命令设置,在help set显示的选项中带*号的是必选项,其他的根据需要进行设置 。
set 命令格式: set [选项] [参数]
举例: set url
http://192.168.16.132/wordPress/ target=_blank class=infotextkey>WordPress/?s=11
如何自己开发漏洞扫描工具

文章插图
 
  • check 命令:
输入check argv 显示set中设置的参数值
如何自己开发漏洞扫描工具

文章插图
 
其中agent参数,即版本信息默认会随机获取 。
  • exec 命令
执行检测命令,命令格式:exec 插件名称[.模块名称]
如果只输入插件名称[attacks,audit,brute,disclosure],则会执行当前插件下所有漏洞检测模块,如果输入 插件名称.模块名称,例如:attacks.xss,则仅会执行当前插件下指定的模块名称 。
输入 exec audit : 执行检测中间件插件下的所有模块
如何自己开发漏洞扫描工具

文章插图


推荐阅读