目录
介绍
安装和配置 Sqlmap
启动 Sqlmap API 服务:
使用 API 进行扫描(Python代码部分)
SQLMAPAPI开发整体过程
获取任务ID
设置任务ID扫描信息
开始扫描对应ID任务
读取扫描状态判断结果
扫描结果查看
扫描结束删除ID并获取结果
最后:
- SQL注入的自动化扫描方式,可以通过使用 Sqlmap 提供的 API 来实现。
- SQLMAP是一个强大的开源自动化SQL注入工具,可以用于发现和利用SQL注入漏洞。
- 通过 Sqlmap 的 API,你可以编写脚本来自动化执行 SQL 注入扫描任务,减少手动操作,提高效率。
- git clone https://github.com/sqlmapproject/sqlmap.git
- cd sqlmap
python 渗透开发工具之SQLMapApi Server不同IP服务启动方式处理 解决方案SqlMapApiServer外网不能访问的情况_sqlmap api-CSDN博客文章浏览阅读1.1w次,点赞38次,收藏16次。通过调用sqlmapApi 代码python调用具有更大的灵活性以及全面性。API的出现给了我们使用代码来实现自动化渗透sql注入测试相关操作。sqlmap 我们可以使用这个工具手动使用 相关指令进行测试!也就是只能你本地访问 这个上面已经说过了。不然每个注入点,都需要我们手动使用sqlmap。如果不知道扫描是api这个就自己补充知识吧!当服务端和客户端不是一台主机会连接不上。这个只是针对于我们本地调用的时候使用的。sqlmapApi 服务安装相关。这样就能访问外网了。_sqlmap apihttps://blog.csdn.net/zhzx123aa/article/details/144479409https://blog.csdn.net/zhzx123aa/article/details/144479409
1 创建新任务记录任务ID @get("/task/new")
2 设置任务ID扫描信息 @post("/option/
/set") 3 开始扫描对应ID任务 @post("/scan/
/start") 4 读取扫描状态判断结果 @get("/scan/
/status") 5 扫描结果查看 @get("/scan/
/data) 6 扫描结束删除ID并获取结果@get("/task/
/delete")
task_url = "http://192.168.1.8:8775/task/new"
resp = requests.get(task_url).json()
task_id = resp['taskid']
task_status = resp['success']
返回结果获取ID (ID值每次都不同)url用的本地搭建的sqllabs
搭建好sqllabs服务器
url 也就是需要做sql注入的地址
data = {
'url': 'http://192.168.1.9/pikachu/vul/sqli/sqli_widebyte.php',
}
headers = {
'Content-Type': 'application/json',
}
scan_id = f'http://192.168.1.8:8775/option/{task_id}/set'
scan_set = requests.post(scan_id, data=json.dumps(data), headers=headers)
print(scan_set.text)
task_start_url = f'http://192.168.1.8:8775/scan/{task_id}/start'
task_scan = requests.post(task_start_url, data=json.dumps(data),headers=headers).json()
print(task_scan)
task_status_url = f'http://192.168.1.8:8775/scan/{task_id}/status'
task_status_resp = requests.get(task_status_url).json()
print(task_status_resp)
task_result_url = f'http://192.168.1.8:8775/scan/{task_id}/data'
task_result = requests.get(task_result_url)
task_result_data = task_result.json()
print(task_result_data)
data_ID_url = "http://192.168.1.8:8775/scan/{0}/data".format(str(task_id))
print(task_result_data)
print(data_ID_url)
task_delete_url = f'http://192.168.1.8:8775/task/{task_id}/delete'
task_delete_req = requests.get(task_delete_url)
task_delete_resp = task_delete_req.json()
print(task_delete_resp)
import json
import requests
# SQLmapApi
"""
1 创建新任务记录任务ID@get("/task/new")
# {
# "success": true,
# "taskid": "d54afabecf0d9198"
# }
"""
task_url = "http://192.168.1.8:8775/task/new"
resp = requests.get(task_url).json()
task_id = resp['taskid']
task_status = resp['success']
"""
2 设置任务ID扫描信息 @post("/option//set")
"""
data = {
'url': 'http://192.168.1.9/pikachu/vul/sqli/sqli_widebyte.php',
}
headers = {
'Content-Type': 'application/json',
}
scan_id = f'http://192.168.1.8:8775/option/{task_id}/set'
scan_set = requests.post(scan_id, data=json.dumps(data), headers=headers)
print(scan_set.text)
"""
3 开始扫描对应ID任务 @post("/scan//start")
"""
task_start_url = f'http://192.168.1.8:8775/scan/{task_id}/start'
task_scan = requests.post(task_start_url, data=json.dumps(data),headers=headers).json()
print(task_scan)
"""
4 读取扫描状态判断结果 @get("/scan//status")
"""
task_status_url = f'http://192.168.1.8:8775/scan/{task_id}/status'
task_status_resp = requests.get(task_status_url).json()
print(task_status_resp)
"""
扫描结果查看 @get("/scan//data)
"""
#
task_result_url = f'http://192.168.1.8:8775/scan/{task_id}/data'
task_result = requests.get(task_result_url)
task_result_data = task_result.json()
print(task_result_data)
data_ID_url = "http://192.168.1.8:8775/scan/{0}/data".format(str(task_id))
print(task_result_data)
print(data_ID_url)
# """
# 扫描结束删除ID并获取结果@get("/task//delete")
# """
task_delete_url = f'http://192.168.1.8:8775/task/{task_id}/delete'
task_delete_req = requests.get(task_delete_url)
task_delete_resp = task_delete_req.json()
print(task_delete_resp)
#
- 涉及到 SQL 注入的漏洞自动化扫描
- 利用过程和如何通过其 API 与 SQLMap 交互进行漏洞挖掘的整体框架
- 了解这个过程可以帮助更好地利用 SQLMap 进行漏洞挖掘
- 特别是在自动化扫描环境中。
- 要实现 SQLMap API 自动化 SRC 漏洞挖掘,你可以通过编写一个自动化脚本
- 利用 SQLMap API 进行 SQL 注入漏洞扫描并挖掘目标系统的安全漏洞。
- 自动化的主要目标是通过 SQLMap API 来进行扫描、验证、利用,并生成漏洞报告。
- 你可以将此过程作为一个完整的漏洞挖掘流程来执行,避免手动干预。
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。