這篇文章主要介紹“如何利用sqlmapapi批量檢測”,在日常操作中,相信很多人在如何利用sqlmapapi批量檢測問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何利用sqlmapapi批量檢測”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
這篇文章主要介紹“如何利用sqlmapapi批量檢測”,在日常操作中,相信很多人在如何利用sqlmapapi批量檢測問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何利用sqlmapapi批量檢測”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
站在用戶的角度思考問題,與客戶深入溝通,找到邛崍網(wǎng)站設(shè)計與邛崍網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋邛崍地區(qū)。
獲取sqlmapapi接口信息python.exe sqlmapapi.py -s
開發(fā)當(dāng)前項(xiàng)目過程(利用sqlmapapi接口實(shí)現(xiàn)批量url注入安全檢測
1 創(chuàng)建新任務(wù)記錄任務(wù)ID @get("/task/new")
2 設(shè)置任務(wù)ID掃描信息 @post("/option/
3 開始掃描對應(yīng)ID任務(wù) @post("/scan/
4 讀取掃描狀態(tài)判斷結(jié)果 @get("/scan/
5 如果結(jié)束刪除ID并獲取結(jié)果 @get("/task/
import requestsimport json#創(chuàng)建任務(wù)IDtask_new_rul='http://127.0.0.1:8775/task/new'resp = requests.get(task_new_rul)print(resp.json()['taskid'])
返回結(jié)果獲取ID (ID值每次都不同)
url用的本地搭建的sqllabs#設(shè)置任務(wù)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'))
返回結(jié)果:
http://127.0.0.1:8775/option/895795f56c98f534/set#啟動對應(yīng)ID的掃描任務(wù)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'))
返回結(jié)果為true#獲取對應(yīng)ID的掃描狀態(tài)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'))
出現(xiàn)的問題,每運(yùn)行一次ID值都會改變,狀態(tài)一直都是running
改進(jìn)代碼假如判定條件
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)
其實(shí)還可以更加完善,比如把檢測的結(jié)果導(dǎo)出到一個文件,這樣就可以從網(wǎng)上爬取帶參數(shù)的地址批量導(dǎo)入sqlmap里去檢測