如何使用Python多線程測(cè)試并發(fā)漏洞
這篇文章主要介紹了如何使用Python多線程測(cè)試并發(fā)漏洞,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
需求介紹
有時(shí)候想看看Web應(yīng)用在代碼或者數(shù)據(jù)庫(kù)層有沒(méi)有加鎖,比如在一些支付、兌換類(lèi)的場(chǎng)景,通過(guò)多線程并發(fā)訪問(wèn)的測(cè)試方式可以得到一個(gè)結(jié)論。
步驟
1. Burp Suite安裝插件
安裝一個(gè)Copy As Python-Requests插件,提高編碼效率;
2. 攔截包并拷貝發(fā)包的代碼
打開(kāi)一個(gè)文本編輯器,右鍵粘貼出來(lái):
import requests burp0_url = "https://www.baidu.com:443/s?word=test123&tn=50000021_hao_pg&ie=utf-8&sc=UWd1pgw-pA7EnHc1FMfqnHRdnHfkP163PWD3PzuW5y99U1Dznzu9m1Y1rj0zPjRYP1Ds&ssl_sample=s_108&srcqid=2890185856410820647&H123Tmp=nu" burp0_cookies = {"BAIDUID": "DE39C3557AA883A517F3717D9ED1B346:FG=1", "BIDUPSID": "DE39C3557AA883A517F3717D9ED1B346", "PSTM": "1548660573", "BD_UPN": "13314352", "H_PS_PSSID": "1431_21111_18560_28585_26350_28519", "H_PS_645EC": "0701XLkxqPa8GpBa6wBJs%2BrZyNuhMOA%2FIRfHCR7YuUcETmxXSKm0g32CT0c", "delPer": "0", "BD_CK_SAM": "1", "PSINO": "1", "BDSVRTM": "142"} burp0_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Referer": "https://www.hao123.com/", "Connection": "close", "Upgrade-Insecure-Requests": "1"} requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)
3. 運(yùn)行Python多線程代碼
將生成的python代碼粘貼到action( )函數(shù)里面即可;
import threading import requests threads = [] def action(): burp0_url = "https://www.baidu.com:443/s?word=test123&tn=50000021_hao_pg&ie=utf-8&sc=UWd1pgw-pA7EnHc1FMfqnHRdnHfkP163PWD3PzuW5y99U1Dznzu9m1Y1rj0zPjRYP1Ds&ssl_sample=s_108&srcqid=2890185856410820647&H123Tmp=nu" burp0_cookies = {"BAIDUID": "DE39C3557AA883A517F3717D9ED1B346:FG=1", "BIDUPSID": "DE39C3557AA883A517F3717D9ED1B346", "PSTM": "1548660573", "BD_UPN": "13314352", "H_PS_PSSID": "1431_21111_18560_28585_26350_28519", "H_PS_645EC": "0701XLkxqPa8GpBa6wBJs%2BrZyNuhMOA%2FIRfHCR7YuUcETmxXSKm0g32CT0c", "delPer": "0", "BD_CK_SAM": "1", "PSINO": "1", "BDSVRTM": "142"} burp0_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Referer": "https://www.hao123.com/", "Connection": "close", "Upgrade-Insecure-Requests": "1"} requests.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies) if __name__ == '__main__': print("Threading ready:") for i in range(0,100): t = threading.Thread(target=action) t.setDaemon(True) // 開(kāi)啟守護(hù)進(jìn)程,如果宿主進(jìn)程掛了,不用執(zhí)行完全部線程任務(wù)也要立即結(jié)束。 參考 https://www.cnblogs.com/Haojq/p/10278365.html t.start() print("Threading ran end!")
4. 確認(rèn)結(jié)果
查看領(lǐng)取的結(jié)果是否有超過(guò)原本的數(shù)量,如果超過(guò)就原本可領(lǐng)的數(shù)量,那就666了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
舉例詳解Python中的split()函數(shù)的使用方法
這篇文章主要介紹了舉例詳解Python中的split()函數(shù)的使用方法,split()函數(shù)的使用是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),通常用于將字符串切片并轉(zhuǎn)換為列表,需要的朋友可以參考下2015-04-04Python中輸入若干整數(shù)以逗號(hào)間隔實(shí)現(xiàn)統(tǒng)計(jì)每個(gè)整數(shù)出現(xiàn)次數(shù)
這篇文章主要介紹了Python中輸入若干整數(shù)以逗號(hào)間隔實(shí)現(xiàn)統(tǒng)計(jì)每個(gè)整數(shù)出現(xiàn)次數(shù)的相關(guān)資料,需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-04-04jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式
這篇文章主要介紹了jupyter notebook 使用過(guò)程中python莫名崩潰的原因及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Expected conditions模塊使用方法匯總代碼解析
這篇文章主要介紹了Expected conditions模塊使用方法匯總代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08TorchVision Transforms API目標(biāo)檢測(cè)實(shí)例語(yǔ)義分割視頻類(lèi)
這篇文章主要為大家介紹了TorchVision Transforms API大升級(jí),支持目標(biāo)檢測(cè)、實(shí)例/語(yǔ)義分割及視頻類(lèi)任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11一篇文章徹底弄懂Python中的if?__name__?==?__main__
在Python當(dāng)中如果代碼寫(xiě)得規(guī)范一些,通常會(huì)寫(xiě)上一句if '__name__'=='__main__:'作為程序的入口,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)一篇文章徹底弄懂Python中的if?__name__?==?__main__的相關(guān)資料,需要的朋友可以參考下2022-12-12