基于蜻蜓打造在线SQL注入检测系统

admin 2023-11-23 22:19:35 AnQuanKeInfo 来源:ZONE.CI 全球网 0 阅读模式

 

背景

一般情况下我们都是使用命令行方式去调用SQLMap,但在一些场景下用界面操作SQLMap更方便,还可以保留检测结果,在一些开源项目中也发现了SQLMAP-Web-GUI,不过我觉得还是不太方便,比如部署必须要有一台公网服务器才能24小时提供服务,这往往需要买云服务器,而用云服务器进行检测容易被服务商封锁。

我不想买公网服务器,又需要有一个24小时能为我提供服务的平台,还不想被封公网IP;于是自己造了一个轮子把sqlmap安装在蜻蜓平台中,这样我不需要关注购买公网IP服务器问题,而且需要用的时候直接打开蜻蜓页面操作即可。

 

克隆SQLMap应用

写好的应用我共享到了蜻蜓市场中,如果要使用可以直接去市场应用里克隆即可,下面是我的使用方法,主要是手工界面操作和调用API操作。

 

手工界面检测

从市场克隆应用之后,会出现在工作台界面,运行之前需要填写要检测的URL地址,这里找一个靶场从里面找一个有参数的URL地址放进去。

注意:一定要有参数,没有参数意味着不存在注入点,SQLMap肯定是检测不出结果的。

点击运行按钮,就会开始对URL进行检测,检测时间会根据网络质量和漏洞类型等因素出结果时间也不同。需要耐心等待一下。

在运行历史记录里面状态为已完成的时候,可以点击结果按钮,查看这次检测的结果,会跳转到数据中心来。

如果想看详情,可以点击查看按钮可以看到数据的详细信息。

 

调用API检测

有些场景下,你可能想把这个功能集成到你自己的项目中,蜻蜓里面内置了API接口,你可以直接通过接口运行工作流。

启动工作流

启动工作流你可以通过CURL的方式来运行,如果工作流里需要填写参数,可以通过–from的方式来提交参数。

curl –request POST \ –url ‘http://qingting.starcross.cn/api/index/start?usce_id=2945’ \ –header ‘content-type: multipart/form-data’ \ –header ‘token: 78b2e04f519b4axxx202fe457cb’ \ –form ‘scan_url=http://10.1.1.140:6789/home/index.php?m=tiezi&a=index&bk=7’

调用成功,会返回版本号信息。

{ “code”: 0, “msg”: “启动成功”, “data”: {“task_version”:”1672798589″} }

获取执行状态

获取任务执行状态的命令,参数中需要有工作流ID和执行版本号。

curl –request GET \ –url ‘http://qingting.starcross.cn/api/index/getStatus?task_version=1672798589&flow_id=2945’ \ –header ‘token: 78b2e04f519b4axxx202fe457cb’

获取执行状态的返回信息,1代表执行中。

{ “code”: 0, “msg”: “执行中”, “data”: 1 }

获取执行结果

请求获取结果的CURL命令如下所示。

curl –request GET \ –url ‘http://qingting.starcross.cn/api/index/getResult?flow_id=2945’ \ –header ‘token: 78b2e04f519b4axxx202fe457cb’

获得SQLMap执行的结果。

{ “code”: 0, “msg”: “”, “data”: [ { “raw”: “sqlmap identified the following injection point(s) with a total of 205 HTTP(s) requests:\n—\nParameter: bk (GET)\n Type: time-based blind\n Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)\n Payload: m=tiezi&a=index&bk=7 AND (SELECT 2330 FROM (SELECT(SLEEP(5)))klfn)\n—\nweb server operating system: Linux Ubuntu\nweb application technology: PHP, Nginx 1.14.0\nback-end DBMS: MySQL >= 5.0.12\n” }, { “raw”: “sqlmap identified the following injection point(s) with a total of 205 HTTP(s) requests:\n—\nParameter: bk (GET)\n Type: time-based blind\n Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)\n Payload: m=tiezi&a=index&bk=7 AND (SELECT 2671 FROM (SELECT(SLEEP(5)))kzvf)\n—\nweb server operating system: Linux Ubuntu\nweb application technology: PHP, Nginx 1.14.0\nback-end DBMS: MySQL >= 5.0.12\n” } ] }

GitHub地址:https://github.com/StarCrossPortal/QingTing

官网地址:http://qingting.starcross.cn/

微信交流群:

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论:0   参与:  2