如何利用sqlmapapi发起扫描


本篇文章为大家展示了如何利用sqlmapapi发起扫描,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。sqlmap可谓是sql注入探测的神器,但是利用sqlmap测试SQL注入的效率很低,每一个url都需要手动测试。sqlmap的开发者新加了sqlmapapi.py,可以直接通过接口调用来操作,简化了sqlmap命令执行方式。sqlmap api分为服务端和客户端,sqlmap api有两种模式,一种是基于HTTP协议的接口模式,一种是基于命令行的接口模式。sqlmap源码下载地址:https://github.com/sqlmapproject/sqlmap/python sqlmapapi.py -h无论是基于HTTP协议的接口模式还是基于命令行的接口模式,首先都是需要开启api服务端的。通过输入以下命令即可开启api服务端:python sqlmapapi.py -s命令成功后,在命令行中会返回一些信息。以下命令大概的意思是api服务端在本地8775端口上运行,admin token为c6bbb0c1f86b7d7bc2ed6ce3e3bbdcb5等但是通过上面的这种方式开启api服务端有一个缺点,当服务端和客户端不是一台主机会连接不上,因此如果要解决这个问题,可以通过输入以下命令来开启api服务端:pythonsqlmapapi.py-s-H”0.0.0.0″-p8775命令成功后,远程客户端就可以通过指定远程主机IP和端口来连接到API服务端。python sqlmapapi.py -c如果是客户端和服务端不是同一台计算机的话,输入以下命令:python sqlmapapi.py -c -H “192.168.1.101” -p 87753.3.1.new命令ne免费云主机域名w-u”url”实例:new -u “http://www.baidu.com”虽然我们仅仅只指定了-u参数,但是从返回的信息中可以看出,输入new命令后,首先先请求了/task/new,来创建一个新的taskid,后又发起了一个请求去开始任务,因此可以发现该模式实质也是基于HTTP协议的。3.3.2. status 命令获取该任务的扫描状态,若返回内容中的status字段为terminated,说明扫描完成,若返回内容中的status字段为run,说明扫描还在进行中。下图是扫描完成的截图:3.3.3. data 命令获取扫描完成后注入出来的信息,若返回的内容中data字段不为空就说明存在注入。下图是存在SQL注入返回的内容,可以看到返回的内容有数据库类型、payload、注入的参数等等。简单介绍下sqlmapapi.py的h基于http接口调用模式的主要函数,进入到lib/utils/api.py的server类,可以发现通过向server提交数据进行与服务的交互。 一共分为3种类型。Users’ methods 用户方法Admin function 管理函数sqlmap core interact functions 核心交互函数可以提交数据的种类如下:@get(“/task/new”)@get(“/task/delete”)@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/”)@get(“/admin/list”)@get(“/admin//flush”)从sqlmapapi.py文件分析,提取调用关系。不难发现这些操作可以完全满足我们的测试需求,因此利用这些就可以批量了。sqlmapapi.py很方便的提供了http请求入口,但是使用起来只能得到最终是否注入的结果,每个接口进行注入扫描时具体发起了什么样的请求,多少个请求就难以得到,下面分享一下个人梳理sqlmap源码后记录的流程图。从图中可以定位到具体发起payload级别的请求位置,从而想要获取发起了什么样的请求,多少个请求,只需要在此处增加自定义代码即可。上述内容就是如何利用sqlmapapi发起扫描,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注云编程开发博客行业资讯频道。

相关推荐: linux中yum命令不能用如何解决

本文小编为大家详细介绍“linux中yum命令不能用如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux中yum命令不能用如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 解决方法:1、给l免费云主机域名inux…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/07 16:24
下一篇 02/07 16:24