本文介绍: 应用案例:前期通过信息收集拿到大量的URL地址,这个时候可以配置sqlmapAP接口进行批量的SQL注入检测 (SRC挖掘)上述代码,在每运行一次都会创建一个任务ID,所以需要进行代码优化。查看扫描结果是get请求,所以可以在浏览器中查看结果。这边任务id和上面不一样是因为我重启了服务。查看sqlmapapi使用方法。
应用案例:前期通过信息收集拿到大量的URL地址,这个时候可以配置sqlmapAP接口进行批量的SQL注入检测 (SRC挖掘)
python sqlmapapi.py -h
任务流程:
1.创建新任务记录任务ID @get("/task/new"))
2.设置任务ID扫描信息 @post("/option/<taskid>/set")
3.开始扫描对应ID任务 @post ("/scan/<taskid>/start")
4.读取扫描状态判断结果 @get("/scan/<taskid>/status")
5.如果结束删除ID并获取结果 @get ("/task/<taskid>/delete")
6.扫描结果查看 @get("/scan/<taskid>/data")
简单使用
- 1.创建新任务记录任务ID
import requests
# 1.创建新任务记录任务ID
task_new_url='http://127.0.0.1:8775/task/new'
response=requests.get(url=task_new_url)
print(response.json())
import requests
import json
# 1.创建新任务记录任务ID
task_new_url = 'http://127.0.0.1:8775/task/new'
response = requests.get(url=task_new_url)
taskid = response.json()['taskid']
# 2.设置任务ID扫描信息
data={
'url':'http://192.168.8.3/sqli-labs-master/Less-2/?id=1'
}
headers={
'Content-Type':'application/json'
}
task_set_url='http://127.0.0.1:8775/option/'+taskid+'/set'
task_set_response=requests.post(url=task_set_url,data=json.dumps(data),headers=headers)
print(task_set_response.content.decode('utf-8'))
import requests
import json
# 1.创建新任务记录任务ID
task_new_url = 'http://127.0.0.1:8775/task/new'
response = requests.get(url=task_new_url)
taskid = response.json()['taskid']
# 2.设置任务ID扫描信息
data = {
'url': 'http://192.168.8.3/sqli-labs-master/Less-2/?id=1'
}
headers = {
'Content-Type': 'application/json'
}
task_set_url = 'http://127.0.0.1:8775/option/' + taskid + '/set'
task_set_response = requests.post(url=task_set_url, data=json.dumps(data), headers=headers)
# print(task_set_response.content.decode('utf-8'))
##### 3.开始扫描对应ID任务
task_start_url='http://127.0.0.1:8775/scan/'+taskid+'/start'
task_start_data=requests.post(task_start_url,data=json.dumps(data),headers=headers)
print(task_start_data.content.decode('utf-8'))
import requests
import json
# 1.创建新任务记录任务ID
task_new_url = 'http://127.0.0.1:8775/task/new'
response = requests.get(url=task_new_url)
taskid = response.json()['taskid']
# 2.设置任务ID扫描信息
data = {
'url': 'http://192.168.8.3/sqli-labs-master/Less-2/?id=1'
}
headers = {
'Content-Type': 'application/json'
}
task_set_url = 'http://127.0.0.1:8775/option/' + taskid + '/set'
task_set_response = requests.post(url=task_set_url, data=json.dumps(data), headers=headers)
# print(task_set_response.content.decode('utf-8'))
# 3.开始扫描对应ID任务
task_start_url = 'http://127.0.0.1:8775/scan/' + taskid + '/start'
task_start_data = requests.post(task_start_url, data=json.dumps(data), headers=headers)
# print(task_start_data.content.decode('utf-8'))
# 4.读取扫描状态判断结果
task_scan_url = 'http://127.0.0.1:8775/scan/' + taskid + '/status'
task_scan_data = requests.get(task_scan_url)
print(task_scan_data.content.decode('utf-8'))
- 查看结果
上述代码,在每运行一次都会创建一个任务ID,所以需要进行代码优化
优化
import time
import requests, json
# 创建任务
def sqlmapapi(url):
# 创建任务id
task_new_url = 'http://127.0.0.1:8775/task/new'
response = requests.get(url=task_new_url)
taskid = response.json()['taskid']
if 'success' in response.content.decode('utf-8'):
print('sqlmapapi task create success !')
data = {
'url': url
}
headers = {
'Content-Type': 'application/json'
}
# 设置 任务
task_set_url = 'http://127.0.0.1:8775/option/' + taskid + '/set'
task_set_response = requests.post(url=task_set_url, data=json.dumps(data), headers=headers)
if 'success' in task_set_response.content.decode('utf-8'):
print('sqlmapapi task set success !')
# 扫描任务
task_start_url = 'http://127.0.0.1:8775/scan/' + taskid + '/start'
task_start_data = requests.post(task_start_url, data=json.dumps(data), headers=headers)
if 'success' in task_start_data.content.decode('utf-8'):
print('sqlmapapi task start success !')
# 获取扫描状态
while True:
task_status_url = 'http://127.0.0.1:8775/scan/' + taskid + '/status'
task_status_data = requests.get(task_status_url)
if 'running' in task_status_data.content.decode('utf-8'):
print('sqlmapapi task scan running .....')
else:
# 查看扫描结果
task_data_url = 'http://127.0.0.1:8775/scan/' + taskid + '/data'
task_data = requests.get(task_data_url)
print(task_data.content.decode('utf-8'))
break
time.sleep(3)
if __name__ == '__main__':
# url='http://192.168.8.3/sqli-labs-master/Less-2/?id=1'
for url in open('url.txt'):
url = url.replace('n', '')
sqlmapapi(url)
原文地址:https://blog.csdn.net/ZhaoSong_/article/details/134695079
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_49605.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。