其实这种方式的扫描器思路早早被公开了,只是没有人愿意把自己写好的项目开源,那么这种类型扫描器好处在于你点着点着就出漏洞了,不需要什么样的操作而且扫描器还可以做到去重、自己加入喜欢的插件在里面!
先看一下项目地址:https://github.com/brianwrf/NagaScan
这款扫描器是由:http://avfisher.win/archives/676
这篇文章博主开发的,具体关于该款扫描器思路请见阅读原文~
由于我自己在部署的时候遇到了重重困难,想顺便给大家讲解下!
这个扫描器的README是英文版,不懂英文的看起来或许困难,今天就手把收给大家讲讲吧!
首先说一下这款扫描器能干些什么?它目前可以支持扫描一些常见的web应用程序漏洞、xss(包括存储)、文件包含~
在搭建该款扫描的时候你必须必须需要的是要准备ubuntu的操作系统这才更大的减少环境错误,因为开发者在开发的时候部署的正是这操作系统!
现在你需要
git clone https://github.com/brianwrf/NagaScan.git
紧接着
sudo pip install mysql-connector
sudo pip install jinja2
sudo pip install bleach
sudo apt-get install python-pip python-dev libmysqlclient-dev
sudo pip install requests
sudo pip install MySQL-python
sudo pip install -U selenium
sudo apt-get install libfontconfig
sudo apt-get install python-pip python-dev libmysqlclient-dev
sudo pip install MySQL-python
安装完这一大堆鬼东西之后你就可以进行安装跟配置它了,你需要安装mysql之后如果在内网可以不需要更改原始密码,如果安装在外网,你需要赋予mysql远程链接权限及修改弱口令,否则被扫到了恭喜你的服务器成为别人的了!
进入mysql环境后你需要新建nagascan的库,之后source schema.sql把数据库信息导入,导入后要值得注意的是里面默认的登陆账号密码([email protected]/Naga5c@n)要更换成自己的~
然后下面所有操作都要在Nagascan目录下操作,进入www/config_override.py对文件进行修改配置信息
sudo python www/wsgiapp.py
如果执行那条命令提示这样的情况,可以执行
netstat -ntlp | grep 80
这条命令看看不是80端口被占用了!
官方文档中这里提到需要安装PhantomJs,因为扫描xss他采用了这个框架了
安装好之后你需要对
scanner/lib/hack_requests.py
这个文件进行Phantomjs跟路径配置。配置完成运行
python scanner/scan_fi.py to scan File Inclusionpython scanner/scan_xss.py to scan XSSpython scanner/scan_sqli.py to scan SQL injection
他们就会在后台对你的urls进行扫描了。
出现这个红色报错的就是提示Phantomjs路径没有设置好,得需要重新设置。
这里还需要把sqlmap安装好,然后进入sqlmap目录下使用
python sqlmapapi.py -s -H 0.0.0.0
这时再结合scan_sqli.py才起到作用。
那么既然说到代理式扫描器肯定是少不了代理程序的,在新的服务器或者虚拟机当中再次执行
git clone https://github.com/brianwrf/NagaScan.git
在不同环境下安装不同的东西,那么最好还是ubuntu了~
然后你需要在/tmp/新建logs.txt文件,让它写入数据包。
为啥需要在新的服务器或者虚拟机当中部署这个代理,很简单,你已经在A服务器上部署了扫描功能了,那么你肯定是能一台服务器做多种事情,服务器肯定扛不住的(除非你有钱买配置好的)
但不管你采用什么都需要对
parser/lib/db_operation.py
这个文件进行修改
然后你要在两个新对终端上执行
这个是代理
mitmdump -p 443 -s "proxy/proxy_mitmproxy.py /tmp/logs.txt"
这个是解释器
python parser/parser_mitmproxy.py /tmp/logs.txt
这时候才真正的把扫描器搭建起来了。
补充下的是,在本机代理之后需要打开http://mitm.it/这个网站选择自己的操作系统下载证书,才能对https进行抓取。macos的需要对进行进行信任
如果代理了之后出现
访问不到网站的话可以重启mitmproxy,还有一个可能就是开启了解释器没有开启代理导致的情况!
再利用上chrome的一个插件
随时随地自由切换代理~挖洞看片两不误!
最后告诉大家的就是,你可以买一台高配置一点的台式机放在家里,然后部署多个虚拟机,再买一台低配置的服务器进行外网的端口转发,这样就可以省钱买服务器的一大笔钱了!还有不要奢求它这么快扫出漏洞,需要时间的~