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

阅读量1016162

发布时间 : 2023-02-07 12:00:32

 

背景

一般情况下我们都是使用命令行方式去调用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/

微信交流群:

本文由星阑科技原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/286061

安全客 - 有思想的安全新媒体

分享到:微信
+122赞
收藏
星阑科技
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66