这篇文章主要介绍“如何利用sqlmapapi批量检测”,在日常操作中,相信很多人在如何利用sqlmapapi批量检测问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用sqlmapapi批量检测”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
这篇文章主要介绍“如何利用sqlmapapi批量检测”,在日常操作中,相信很多人在如何利用sqlmapapi批量检测问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用sqlmapapi批量检测”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
站在用户的角度思考问题,与客户深入沟通,找到邛崃网站设计与邛崃网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、雅安服务器托管、企业邮箱。业务覆盖邛崃地区。
获取sqlmapapi接口信息python.exe sqlmapapi.py -s
开发当前项目过程(利用sqlmapapi接口实现批量url注入安全检测
1 创建新任务记录任务ID @get("/task/new")
2 设置任务ID扫描信息 @post("/option/
3 开始扫描对应ID任务 @post("/scan/
4 读取扫描状态判断结果 @get("/scan/
5 如果结束删除ID并获取结果 @get("/task/
import requestsimport json#创建任务IDtask_new_rul='http://127.0.0.1:8775/task/new'resp = requests.get(task_new_rul)print(resp.json()['taskid'])
返回结果获取ID (ID值每次都不同)
url用的本地搭建的sqllabs#设置任务ID的配置信息(扫描信息)data = { 'url':'http://127.0.0.1/sqlilabs/Less-2/?id=1'}headers={ 'Content-Type':'application/json'}task_set_url = 'http://127.0.0.1:8775/option/'+task_id+'/set'print(task_set_url)task_set_resp=requests.post(task_set_url,data=json.dumps(data),headers=headers)#print(task_set_resp.content.decode('utf-8'))
返回结果:
http://127.0.0.1:8775/option/895795f56c98f534/set#启动对应ID的扫描任务task_start_url = 'http://127.0.0.1:8775/scan/'+task_id+'/start'task_start_resp=requests.post(task_set_url,data=json.dumps(data),headers=headers)print(task_start_resp.content.decode('utf-8'))
返回结果为true#获取对应ID的扫描状态task_status_url='http://127.0.0.1:8775/scan/'+task_id+'/status'task_status_resp=requests.get(task_status_url)print(task_status_resp.content.decode('utf-8'))
出现的问题,每运行一次ID值都会改变,状态一直都是running
改进代码假如判定条件
1.txt里可以加入批量待检测的urlimport requestsimport jsonimport timedef sqlmapapi(url): data = { 'url': url } headers = { 'Content-Type': 'application/json' } task_new_rul = 'http://127.0.0.1:8775/task/new' resp = requests.get(task_new_rul) task_id = resp.json()['taskid'] if 'success' in resp.content.decode('utf-8'): print('sqlmapapi task create success!') task_set_url = 'http://127.0.0.1:8775/option/' + task_id + '/set' task_set_resp = requests.post(task_set_url, data=json.dumps(data), headers=headers) if 'success' in task_set_resp.content.decode('utf-8'): print('sqlmapapi task set success!') task_start_url = 'http://127.0.0.1:8775/scan/' + task_id + '/start' task_start_resp = requests.post(task_start_url, data=json.dumps(data), headers=headers) if 'success' in task_start_resp.content.decode('utf-8'): print('sqlmapapi start success!') while 1: task_status_url = 'http://127.0.0.1:8775/scan/' + task_id + '/status' task_status_resp = requests.get(task_status_url) if 'running' in task_status_resp.content.decode('utf-8'): print('sqlmapapi taskid scan running') pass else: task_data_url='http://127.0.0.1:8775/scan/' + task_id + '/data' task_data_resp= requests.get(task_data_url) print(task_data_resp.content.decode('utf-8')) break time.sleep(3)if __name__ == '__main__': for url in open('1.txt'): url = url.replace('\n','') sqlmapapi(url)
其实还可以更加完善,比如把检测的结果导出到一个文件,这样就可以从网上爬取带参数的地址批量导入sqlmap里去检测