驗證碼識別&暴力破解這個是博文教學,向量算法破解是視頻教程。
私信001得視頻教程獲取方式。
1. 前言
作為一名努力工作的滲透實習生,這段時間在處理滲透工作的時候發現,弱口令是進入網站最簡單、最有效、危害重大的漏洞之一,但常常暴力破解用戶名時會發現存在討厭的驗證碼,讓我們從而無法進行滲透工作。所以,這倆天寫了幾行代碼可以簡單的識別驗證碼並進行暴力破解,算是個人總結吧,大牛們繞過就好。
2. 準備工作
在滲透測試中我們需要收集一些有用的信息,比如網站存在的用戶名,如圖2.1所示,在找回密碼處可以遍歷用戶名,使用Burp抓包從返回包中可以看到用戶名是否存在。但同時也可以看到有驗證碼的存在,我們無法進行暴力破解,所以我們需要識別驗證碼並加入字典進行暴力破解
3. Python程序
3.1 整體思路
3.1.1 訪問該網站頁面,爬取頁面存在的驗證碼信息和跳轉的地址(點擊下一步訪問的地址)。
3.1.2 識別驗證碼,加入驗證碼和用戶名字字典請求訪問。
3.1.3 從放回包中判斷是否暴力破解成功,打印出存在的用戶名。
3.2 python識別驗證碼
將驗證碼下載到本地,命名為code.jpg
from PIL import Image
import pytesseract
python中使用Image,pytesseract識別存在的驗證碼
成功識別出存在的驗證碼 7KKV
3.3 爬取驗證碼信息和跳轉地址
3.3.1 訪問該網址鏈接,使用firebug查看頁面源代碼發現存在的驗證碼地址和跳轉的地址,我們需要加載用戶名字典和識別出來的驗證碼進行訪問。
3.3.2 Python識別驗證碼和下一次請求的地址
使用requests模塊進行第一次訪問,通過查看源代碼,進行正則匹配得到驗證碼地址和跳轉的地址,將驗證碼保存到本地,識別驗證碼並返回
3.3.3 加載用戶名字典,進行暴力破解
定義用戶字典函數,返回users列表
抓包分析數據包,為post請求
通返回包中,如果用戶名錯誤或驗證碼錯誤,會出現titleNoteError字段,如果正確則沒有該字段。
編寫暴力破解模塊
加入多線程,優化破解速度
完整代碼
存在的用戶名
閱讀更多 空手憶歲月 的文章