(批量注入)使用SqlmapApi批量扫描

admin 2023年6月5日22:39:49评论19 views字数 2944阅读9分48秒阅读模式



兄弟们,我是废物。注入也不想手注了,搞一个批量sqlmap跑一下吧。sqlmap没有不会用的吧,工具整好了,双手奉上。

01

使用前景


无非流量尔,咱们直接把代理走过的流量全部留下来,丢到咱们的url.txt里面,我们这个比较拉跨,只能搞搞get的,其他请求的写好大家支援支援我。我就简单用用?切割,坐等CNVD证书送上门来。开玩笑的怕我没跑完,喜提银手链,其实就只是帮助平时渗透测试吧。

在服务器上远程调用:

python3 sqlmapapi.py -s -H 0.0.0.0 -p 8775

在本机上调用:

python3 sqlmapapi.py -s

(批量注入)使用SqlmapApi批量扫描

02

代码安排


import requestsimport jsonimport time
ip = "127.0.0.1" # 自己改成自己的IPdef sqlmapapi(url): headers = { # 数据包里的数据. 'Content-Type': 'application/json' } data = { # 输入扫描的地址. 'url': url } task_new_url = 'http://'+ip+':8775/task/new' # 创建任务的URL地址(在IP地址后面加//task/new). 前面的四个就是获取ID信息. resp = requests.get(task_new_url) # 使用get方式请求. task_id = resp.json()['taskid'] # 打印json格式下的taskid数据. #print(resp.content.decode('utf-8')) #打印utf-8格式 if 'success' in resp.content.decode('utf-8'): #如果success在resp.content.decode('utf-8')里面 print('sqlmapapi 创建任务ID成功!') scan_task_set_url = 'http://'+ip+':8775/option/' + task_id + '/set' #添加的是上面创建的新任务ID(/option和/set这二个是固定的.) scan_task_set = requests.post(scan_task_set_url, data=json.dumps(data), headers=headers) #使用post方式提交.data=是提交的数据(提交data里面的数据.) #print(task_set_resp.content.decode('utf-8')) #打印utf-8格式 if 'success' in scan_task_set.content.decode('utf-8'): #如果success在task_set_resp.content.decode('utf-8')里面设置任务ID的配置 print('sqlmapapi 设置任务ID的配置成功!') task_start_url = 'http://'+ip+':8775/scan/' + task_id + '/start' #添加的是上面创建的新任务ID(/scan和/start是启动对应ID的扫描任务文件.) task_start_resp = requests.post(task_start_url, data=json.dumps(data),headers=headers) # 使用post方式提交.data=是提交的数据(提交data里面的数据.) # print(task_start_resp.content.decode('utf-8')) #打印utf-8格式 if 'success' in task_start_resp.content.decode('utf-8'): #如果success在task_start_resp.content.decode('utf-8')里面 print('sqlmap 扫描启动成功!') while 1: task_status_url = 'http://'+ip+':8775/scan/' + task_id + '/status' #添加的是上面创建的新任务ID(/scan和/status是启动对应ID的扫描任务文件.) task_status_resp = requests.get(task_status_url) #使用post方式提交 #print(task_status_resp.content.decode('utf-8')) #打印utf-8格式 if 'running' in task_status_resp.content.decode('utf-8'): #还在扫描中 print(url + '还在扫描中!') pass else: #否则扫描成功! print('sqlmapapi 扫描结束!') task_data_url = 'http://'+ip+':8775/scan/' + task_id + '/data' #打印data结果. scan_data = requests.get(task_data_url).content.decode('utf-8') #使用post方式提交 with open(r'result.txt', 'a+', encoding='utf-8') as f: data=json.loads(scan_data) if data['success'] == True: if len(data['data']) > 0: f.write(url + " 注入存在!!!n") f.write("param:n") query = data['data'][0] f.write(' - ' + query['value']['query']+'n') f.write("payloads:n") value = data['data'] value_num = value[1] value_data = value_num['value'] value_data_0 = value_data[0] value_data_0_data = value_data_0['data'] for key in value_data_0_data.keys(): payload = value_data_0_data[key] f.write(' - ' + payload['payload'] + 'n') f.write('n') f.close() scan_deltask_url = 'http://'+ip+':8775/task/' + task_id + '/delete' scan_deltask=requests.get(scan_deltask_url) if 'success' in scan_deltask.content.decode('utf-8'): print('删除 task id 成功') break #结束(跳出) time.sleep(3) #延迟3秒. if __name__ == '__main__': for url in open('url.txt'): url=url.replace('n','') if url.find('?')!=-1: sqlmapapi(url)

(批量注入)使用SqlmapApi批量扫描

(批量注入)使用SqlmapApi批量扫描

没有注入的就没填进去,自己用的话改下上面IP,逻辑改改也行我太拉跨了。

原文始发于微信公众号(阿呆攻防):(批量注入)使用SqlmapApi批量扫描

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月5日22:39:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   (批量注入)使用SqlmapApi批量扫描http://cn-sec.com/archives/1763705.html

发表评论

匿名网友 填写信息