sqlmapapi介绍&ampamp;amp;利用sqlmapapi发起扫描

访客4年前黑客工具785

sqlmap可谓是sql注入探测的神器,但是利用sqlmap测试SQL注入的效率很低,每一个url都需要手动测试。sqlmap的开发者新加了sqlmapapi.py,可以直接通过接口调用来操作,简化了sqlmap命令执行方式。

sqlmap api分为服务端和客户端,sqlmap api有两种模式,一种是基于HTTP协议的接口模式,一种是基于命令行的接口模式。

sqlmap源码下载地址:https://github.com/sqlmapproject/sqlmap/

一、查看帮助

python sqlmapapi.py -h1612509734_601cf22600509ffdb8e38.png!small?1612509734710

二、开启api服务端

无论是基于HTTP协议的接口模式还是基于命令行的接口模式,首先都是需要开启api服务端的。通过输入以下命令即可开启api服务端:python sqlmapapi.py -s

命令成功后,在命令行中会返回一些信息。以下命令大概的意思是api服务端在本地8775端口上运行,admin token为c6bbb0c1f86b7d7bc2ed6ce3e3bbdcb5等

?但是通过上面的这种方式开启api服务端有一个缺点,当服务端和客户端不是一台主机会连接不上,因此如果要解决这个问题,可以通过输入以下命令来开启api服务端:python?sqlmapapi.py?-s?-H?"0.0.0.0"?-p?8775

命令成功后,远程客户端就可以通过指定远程主机IP和端口来连接到API服务端。

三、基于命令行的接口模式

3.1、开启客户端,发起注入命令

python sqlmapapi.py -c

如果是客户端和服务端不是同一台计算机的话,输入以下命令:

python sqlmapapi.py -c -H "192.168.1.101" -p 8775

3.2、help命令,获取所有命令

1612509851_601cf29b3b483fdca0a93.png!small?1612509851904

?3.3、检测注入

3.3.1.new命令

new?-u?"url"

实例:new -u "http://www.baidu.com"

虽然我们仅仅只指定了-u参数,但是从返回的信息中可以看出,输入new命令后,首先先请求了/task/new,来创建一个新的taskid,后又发起了一个请求去开始任务,因此可以发现该模式实质也是基于HTTP协议的。

1612509869_601cf2adb50720ce1c1ec.png!small?1612509870194

3.3.2. status 命令

获取该任务的扫描状态,若返回内容中的status字段为terminated,说明扫描完成,若返回内容中的status字段为run,说明扫描还在进行中。下图是扫描完成的截图:

1612509885_601cf2bda58875a826312.png!small?16125098860553.3.3. data 命令

获取扫描完成后注入出来的信息,若返回的内容中data字段不为空就说明存在注入。下图是存在SQL注入返回的内容,可以看到返回的内容有数据库类型、payload、注入的参数等等。

1612509916_601cf2dc4e9eb19da5527.png!small?1612509916649

四、基于HTTP协议的接口模式

简单介绍下sqlmapapi.py的h基于http接口调用模式的主要函数,进入到lib/utils/api.py的server类,可以发现通过向server提交数据进行与服务的交互。 一共分为3种类型。

Users' methods 用户 ***

Admin function 管理函数

sqlmap core interact functions 核心交互函数

可以提交数据的种类如下:

4.1、用户 ***

@get("/task/new")

@get("/task/delete")

4.2、核心交互函数

@get("/option/list")

@post("/option/get")

@post("/option/set")

@post("/scan/start")

@get("/scan/stop")

@get("/scan/kill")

@get("/scan/status")

@get("/scan/data")

@get("/scan/log")

@get("/download/")

4.3、管理函数

@get("/admin/list")

@get("/admin//flush")

从sqlmapapi.py文件分析,提取调用关系。不难发现这些操作可以完全满足我们的测试需求,因此利用这些就可以批量了。

五、利用sqlmapapi发起扫描

sqlmapapi.py很方便的提供了http请求入口,但是使用起来只能得到最终是否注入的结果,每个接口进行注入扫描时具体发起了什么样的请求,多少个请求就难以得到,下面分享一下个人梳理sqlmap源码后记录的流程图。从图中可以定位到具体发起payload级别的请求位置,从而想要获取发起了什么样的请求,多少个请求,只需要在此处增加自定义代码即可。

六、sql注入自动化实现流程

相关文章

htconex(htconex多少钱)

你好,HTConex当年的报价是1599-3799元,目前已经停产了。 手机屏幕更换维修的费用一般在200-400元左右,如果是更换原装屏幕那么费用会更高一些的,不过不同的机型不同地区的维修站的费用是...

c语言基础知识入门视频(c语言基础知识入门视频教程百度云)

c语言基础知识入门视频(c语言基础知识入门视频教程百度云)

本文导读目录: 1、C语言全套教学视频 2、初学C语言,入门,看哪个视频比较好 3、怎么自学C语言 入门 4、如何快速入门C语言? 5、C语言考试教程◆全国计算机等级考试二级C语言视频...

余额宝转入转出要手续费吗(余额宝转出到银行卡要多久)

余额宝转出储蓄卡收费标准吗? 依据支付宝余额宝资产的转帐转帐标准,储蓄卡被迁移到支付宝余额宝,或从支付宝余额宝迁移到储蓄卡,均不扣除一切附加费;(必须留意的是,假如储蓄卡资产沒有转到支付宝余额宝,就...

黑客雇佣市场(如何在淘宝上雇佣黑客)-平板的黑客怎么输入代码

黑客雇佣市场(如何在淘宝上雇佣黑客)-平板的黑客怎么输入代码

黑客雇佣市场(如何在淘宝上雇佣黑客)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业...

以图片社区为例,如何利用热度算法做内容质量评估?

以图片社区为例,如何利用热度算法做内容质量评估?

以图片社区为例,结合我的实践经验,从待解决问题、输入、计算逻辑、输出四要素,拆解热度算法如何设计。 一、背景 在内容社区中,热度算法是基于实际用户反馈行为,比如内容的点赞、收藏等数据,而实时计算得到...

p神黑客(黑客论坛吧)

p神黑客(黑客论坛吧)

本文导读目录: 1、史上最厉害的黑客是谁? 2、黑客帝国涉及到哪些哲学和科学问题 3、世界黑客谁第一? 4、史上最厉害的黑客是谁? 5、世界上的知名黑客有哪些? 史上最厉害的黑客是谁...