【技术干货】基于蜻蜓打造在线SQL注入检测系统

admin 2023年2月8日11:30:34评论17 views字数 2509阅读8分21秒阅读模式

【技术干货】基于蜻蜓打造在线SQL注入检测系统

【技术干货】基于蜻蜓打造在线SQL注入检测系统
【技术干货】基于蜻蜓打造在线SQL注入检测系统
daxia
@PortalLab实验室

背景

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

【技术干货】基于蜻蜓打造在线SQL注入检测系统

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

克隆SQLMap应用

写好的应用我共享到了蜻蜓市场中,如果要使用可以直接去市场应用里克隆即可,下面是我的使用方法,主要是手工界面操作和调用API操作。
【技术干货】基于蜻蜓打造在线SQL注入检测系统

手工界面检测

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

【技术干货】基于蜻蜓打造在线SQL注入检测系统

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

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

【技术干货】基于蜻蜓打造在线SQL注入检测系统

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

【技术干货】基于蜻蜓打造在线SQL注入检测系统

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

【技术干货】基于蜻蜓打造在线SQL注入检测系统

调用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 blindn    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 Ubuntunweb application technology: PHP, Nginx 1.14.0nback-end DBMS: MySQL >= 5.0.12n"    },    {      "raw": "sqlmap identified the following injection point(s) with a total of 205 HTTP(s) requests:n---nParameter: bk (GET)n    Type: time-based blindn    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 Ubuntunweb application technology: PHP, Nginx 1.14.0nback-end DBMS: MySQL >= 5.0.12n"    }  ]}

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

官网地址:http://qingting.starcross.cn/
微信交流群:

【技术干货】基于蜻蜓打造在线SQL注入检测系统

关于Portal Lab

星阑科技 Portal Lab 致力于前沿安全技术研究及能力工具化。主要研究方向为API 安全、应用安全、攻防对抗等领域。实验室成员研究成果曾发表于BlackHat、HITB、BlueHat、KCon、XCon等国内外知名安全会议,并多次发布开源安全工具。未来,Portal Lab将继续以开放创新的态度积极投入各类安全技术研究,持续为安全社区及企业级客户提供高质量技术输出。


【技术干货】基于蜻蜓打造在线SQL注入检测系统

原文始发于微信公众号(星阑实验室):【技术干货】基于蜻蜓打造在线SQL注入检测系统

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月8日11:30:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【技术干货】基于蜻蜓打造在线SQL注入检测系统https://cn-sec.com/archives/1539155.html

发表评论

匿名网友 填写信息