sqlmap的二次开发

时间:2021-01-13 05:39:06

1、sqlmapapi的帮助信息。

-s 启动sqlmap作为服务器

-h 指定sqlmap作为服务器的IP地址,默认127.0.0.1

-p 指定sqlmap服务器的端口,默认端口为8775

sqlmap的二次开发

2、启动服务

sqlmap的二次开发

浏览器访问:

sqlmap的二次开发

3、api介绍:sqlmap项目下的api.py文件含有所有的api

adminid可以是任意值

进入到lib/utils/api.py的server类,可以发现通过向server提交数据进行与服务的交互。 一共分为3种类型。

  • Users’ methods 用户方法
  • Admin function 管理函数
  • sqlmap core interact functions 核心交互函数

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

用户方法

  • @get("/task/new")   返回taskid
  • sqlmap的二次开发

     

  • @get("/task/taskid/delete") 删除指定taskid的任务
  • sqlmap的二次开发

     

管理函数

  • @get("/admin/adminid/list")   adminid可以为任意值查看所有任务列表,并显示扫描的状态
  • sqlmap的二次开发

     

  • @get("/admin/adminid/flush")  adminid可以为任意值,删除所有任务
  • sqlmap的二次开发

     

核心交互函数

  • @get("/option/taskid/list")  获取sqlmap所有可以设置的参数
  • sqlmap的二次开发

     

  • @post("/option/taskid/get")  获取sqlmap指定参数的值
  • sqlmap的二次开发

     

  • @post("/option/taskid/set")   设置sqlmap的注入参数
  • sqlmap的二次开发

     

  • @post("/scan/taskid/start")   开始注入
  • sqlmap的二次开发

     

  • @get("/scan/taskid/stop")     停止注入
  • @get("/scan/taskid/kill")       杀死扫描任务进程
  • @get("/scan/taskid/status")   sqlmap运行状态
  • sqlmap的二次开发

     

  • @get("/scan/taskid/data")      扫描结果
  • 最后对于是否是有注入漏洞, 代码里面是这么判断的, 如果返回的字典中, data里面有值, 那么就有注入

  • 下图为存在注入的扫描结果截图
  • sqlmap的二次开发

     

  • @get("/scan/taskid/log/<start>/<end>") 片段日志
  • @get("/scan/taskid/log")    扫描日志
  • sqlmap的二次开发

     

  • @get("/download/taskid/<target>/<filename:path> ")

 

 

 

 

参考:http://www.liuhaihua.cn/archives/89670.html

http://www.secbox.cn/skill/5813.html