被动式扫描器Sscan

0x00 前言

被动式扫描器出过很多N轮子,我也是在造轮子(名字Sscan)。一般与sqlmapapi配合起来,虽然看上去很牛,但是我觉得缺陷很大。工作量巨大。原因还是在sqlmapapi上。虽然sqlmapapi已经做了优化,但是在判断sql注入点的时候,优化做的不够。尤其是在waf横行的时代。分分钟被封ip。这时候就需要自己去改造这个轮子了。

0x01 Sscan

这个工具分两部分,一部分是chrome插件,负责将请求包发送到sqlmapapi。另外一部分是控制台,负责接受,发送,显示数据。

0x02 配置

1.首先搭建sqlmapapi服务端

sqlmapapi -s -H 192.168.50.130(你自己的ip)

1.jpg

2.配置Sscan服务段

使用的是mysql数据库。首先修改config/conn.php中的数据库账号和密码。然后再访问config/createdb.php,会自动创建数据库,但是需要的root权限。
再修改classs/qlmapapi.class.php中sqlmapapi地址,比如修改成

1
public $sqlmapai='http://192.168.50.130:8775/';

配置好,界面图
2.jpg

3.配置chrome 插件,需要修改的

chrome 插件去重复比如: http://192.168.50.1/guest/edit.php?id=2 将?后面的http://192.168.50.1/guest/edit.php 作为一个列表的键值,如果存在则不发送到Sscan服务端请求扫描

1
req_server = "http://127.0.0.1/sscan/api.php"

最终使用扫描器的效果图
3.jpg

0x03 注意

1.提交给sqlmapapi时候,要注意Content-Type,一定是json类型
Content-Type: application/json

0x04 sqlmapapi使用

新建任务
http://192.168.50.130:8775/task/new

开始扫描
headers只能设置一项 cookie要小写
http://192.168.50.130:8775/scan/320078acd1010458/start

post 要带data
{“url”:”http://192.168.50.1/guest/edit.php","data":"id=2","cookie":"PHPSESSID=230v7r7e391gff05sc9tuuut91","headers":"X-Forwarded-For: 8.8.8.8”}

get 不要带data
{“url”:”http://192.168.50.1/guest/edit.php","cookie":"PHPSESSID=230v7r7e391gff05sc9tuuut91","headers":"X-Forwarded-For: 8.8.8.8”}

查看状态
http://192.168.50.130:8775/scan/4bd6ac73d7effc98/status

查看日志
http://192.168.50.130:8775/scan/4bd6ac73d7effc98/log

查看结果
http://192.168.50.130:8775/scan/8ff97c05415e3f03/data

查看设置
http://192.168.50.130:8775/option/b7eb460107a012a7/list

0x05 缺陷

1.注入点的判断,请求包太多了。需要优化下。(等有比较成熟的想法就开始开发下一个版本)
2.多余的数据包,比如baidu.com的连接太多,可以设置屏蔽下百度(下个版本再做)

下载地址
SscanServer.7z
链接: https://pan.baidu.com/s/1hsFzS0G 密码: fm9w

SscanPlus.7z
链接: https://pan.baidu.com/s/1mhLhgMk 密码: q4a5