驗證碼爆破總結
一、使用reCAPTCHA插件進行驗證碼爆破
插件下載地址:https://github.com/bit4woo/reCAPTCHA/releases
1.瀏覽器輸入網站登錄頁面,輸入用戶名和密碼以及驗證碼,然后通過buspuit獲取數據包


2.然后點擊驗證碼獲取驗證碼的地址,在proxy中找到獲取圖形驗證碼的請求,選中它并點擊右鍵選擇“Send to reCAPTCHA”,這個請求的信息將被發送到reCAPTCHA。


3.切換到reCAPTCHA標簽,并配置所需的參數。當參數配置好后,你可以點擊“請求”按鈕來測試配置
這里需要注意的是,需要到https://www.jsdati.com/注冊一個打碼平臺,然后購買點數,這里可以用1元購買測試。
username=xxx&password=xxxx&captchaType=1008.
這里的username是你注冊的賬號,password你注冊賬號的密碼,aptchaType為你識別的驗證碼類型,該類型可以通過下面鏈接地址查詢到
https://www.jsdati.com/docs/price


4.完成了配置并測試成功后,現在可以在Intruder中使用該插件生成的payload了。
有2種情況:用戶名或密碼之一+驗證碼;用戶名+密碼+驗證碼;
情況一:只有密碼或只有用戶名需要改變,我們可以用Pitchfork 模式來配置。
比如,已知系統存在一個用戶admin,來爆破該用戶,插入點標記如下,

payload 1我們從文件中加載,這個不必多說。

payload 2 選擇“Extension-Generated”.

運行效果如下:

情況二:用戶名和口令都需要改變,這個稍微復雜點。我們還是使用Pichfork模式,但需要將用戶名和密碼一起標注為一個插入點。像這樣:

payload 1 使用“自定義迭代器(Custom interator)”。并在迭代器中組合用戶名和密碼。
在該例子中,即 position 1為用戶名,postion 3為密碼。

position 2 為“&j_password=”
payload 2 的配置和情況一中的配置完全一樣。
運行效果如圖:

二、使用captcha-kiler插件進行驗證碼爆破
1. 插件下載地址:
captcha-kiler:https://github.com/c0ny1/captcha-killer/tags

2.瀏覽器輸入網站登錄頁面,輸入用戶名和密碼以及驗證碼,然后通過buspuit獲取數據包


3.然后點擊驗證碼獲取驗證碼的地址,通過buspuit攔截驗證碼獲取地址,然后proxy--proxy history中發送數據包到repeater中,選中它并點擊右鍵選擇“send to captcha panel”,這個請求的信息將被發送到captcha-kiler



4.配置識別接口模板,這里通過(http://www.ttshitu.com/圖鑒打碼平臺,(1元500次))
POST /base64 HTTP/1.1Host: api.ttshitu.comUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: Hm_lvt_d92eb5418ecf5150abbfe0e505020254=1585994993,1586144399; SESSION=5ebf9c31-a424-44f8-8188-62ca56de7bdf; Hm_lpvt_d92eb5418ecf5150abbfe0e505020254=1586146123Connection: closeContent-Type: application/json; charset=UTF-8Content-Length: 2658 {"username":"xxx","password":"xxxxx","typeid":"2","image":"<@BASE64><@IMG_RAW>"}
注意:這里username填入圖鑒打碼平臺的用戶名,密碼則為打碼平臺的密碼,typeid為識別驗證碼的類型

5.設置匹配規則將result后面的驗證碼,標記為識別結果

6.最終可以看到識別的效果圖

7.驗證碼爆破:
情況一:只有密碼或只有用戶名需要改變,我們可以用Pitchfork 模式來配置。
比如,已知系統存在一個用戶admin,來爆破該用戶的密碼,插入點標記如下

payload 1我們從文件中加載密碼字典

payload 2 選擇“Extension-Generated”--captcha-killer插件

運行效果如下:

情況二:用戶名和口令都需要改變,這個稍微復雜點。我們還是使用Pichfork模式,但需要將用戶名和密碼一起標注為一個插入點。像這樣:

payload 1 使用“自定義迭代器(Custom interator)”。并在迭代器中組合用戶名和密碼。
在該例子中,即 position 1為用戶名

position 2 為“&is_manager=0&userpwd=”

postion 3為密碼

payload 2 選擇“Extension-Generated”--captcha-killer插件

運行效果

三、使用xp_CAPTCHA插件進行驗證碼爆破
1.安裝
需要python3 小于3.7的版本
安裝 muggle_ocr 模塊(大概400M左右)
python3 -m pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com muggle-ocr

運行 server.py
https://github.com/smxiazi/NEW_xp_CAPTCHA.git
python server.py

等待顯示出 Starting server, listen at: 0.0.0.0:8899 訪問 http://127.0.0.1:8899/ 顯示下面界面即為正常。

2.burp聯動識別驗證碼爆破
如果 server.py 在服務器上跑的話,xp_CAPTCHA.py需要修改對應的IP。

先下載jypthon插件,并加重環境變量,修改完后導入burp
https://repo1.maven.org/maven2/org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar



Attack type處選擇 Pitchfork,在http頭部位置插入xiapao:驗證碼的URL地址

此處導入密碼字典

選擇驗證碼識別


然后把線程設置為1

