<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    基于百度OCR-文字識別的驗證碼暴力破解

    VSole2021-12-03 06:43:16

    0x01 前言

    在之前的學習中,我們學習過暴力破解的方法,比如暴力破解藍奏云的密碼.理論上講,只要字典足夠,和方法正確.暴力破解總能出現我們想要的效果.但是在真實的環境中,我們在進行密碼猜解的時候,總會遇到一些驗證碼的阻攔.比如下方這種情景

    當字典準備充足的情況下,如何正確的自動化的識別驗證碼,是我們要思考的問題.

    0x02 正文

    1.準備條件

    BurpSuite插件captcha-killer:https://github.com/c0ny1/captcha-killer/releases/tag/0.1.2

    演示爆破網站

    百度云OCR平臺賬戶

    2.插件導入

    在BurpSuite的Extender模塊中,點擊Add,將下載的captcha-killer.jar文件導入

    此時可以看到BurpSuite的欄目里多了一塊選擇:Captcha-Killer,插件導入成功。

    3.驗證碼抓取

    在測試頁面隨意輸入賬戶名和密碼及驗證碼,使用BurpSuite,進行抓包,抓取頁面如下:

    將抓到的數據包發送到Intruder模塊,一會兒進行重放爆破.

    然后點擊forward,尋找獲取驗證碼的數據包,找到一個數據包,其中包含captcha,懷疑是獲取驗證碼的數據包

    右擊找到captcha-killer,發送到captcha-panel,點擊獲取,成功找到驗證碼,驗證碼抓取成功.

    4.百度OCR識別

    在Request Template中右擊選擇模版庫,找到百度OCR,我們通過使用captcha-killer自帶的模塊進行識別,但是調用百度OCR識別需要Access_token,將我們在百度OCR中獲得的access_token修改進數據包中去,即可自動識別驗證碼.

    4.1領取免費資源

    進入百度OCR:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index[1],首先領取免費的資源,這樣可以幫助我們識別一些文字類型的驗證碼,也可以按量計費購買一些流量

    4.2 創建應用

    領取完免費資源或者購買了一些服務后點擊創建應用,選擇應用歸屬為個人,創建成功后出現如下列表,可以看到創建的應用被分配了API KEY和Secret Key

    通過API KEY 和 Secret Key我們需要獲取到調用此應用的Access Token

    4.3 Token 獲取

    根據開發文檔,我們構造如下語句

    curl -i -k 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[你的API KEY]&client_secret=[你的Secret Key]'

    將API KEY 和Secret KEY代換進去(注意沒有中括號),在Linux命令行中執行,成功返回來了就json數據,找到Access token

    4.4 驗證碼識別

    將Access_token復制進captcha-killer,點擊識別,成功識別到驗證碼

    4.5 識別驗證碼的暴力破解

    在識別成功后,將識別到的結果選中,右擊中標記為識別結果

    回到Intruder模塊,我們本次試驗選擇用戶名不變,猜解密碼的模式,于是設置Intruder模塊中的兩個變量作為參數,一個是密碼,另一個是驗證碼.選擇PitchFork模塊

    將password中的內容導入字典

    而將captcha中內容選擇為Extension-generated,通過captcha-killer生成.

    由于百度OCR的特點,爆破速度不能太快,所以我們選擇以更慢的速度來進行暴力破解

    點擊Start Attack,成功進行暴力破解,繞過驗證碼成功!

    0x03 總結

    在滲透測試的過程中,登錄框中遇到驗證碼是很常見的一件事情,所以大家一定要掌握驗證碼識別這個技巧,有時候百度OCR可能識別精度不高,也歡迎大家嘗試別的OCR平臺的方法,可以一起交流!

    ocr驗證碼識別
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    captcha-killer要解決的問題是讓burp能用上各種驗證碼識別技術!插件當前針對的圖片類型驗證碼,其他類型當前不支持。captcha-killer本身無法識別驗證碼,它專注于對各種驗證碼識別接口的調用。
    本文僅作為技術討論及分享,嚴禁用于任何非法用途。本文將介紹一個操作瀏覽器進行口令暴破的案例與驗證碼識別工具。Playwright:瀏覽器自動化工具Playwright 是一個強大的 Python 庫,僅用一個 API 即可自動執行 Chromium、Firefox、WebKit 等主流瀏覽器自動化操作,并同時支持以無頭模式、有頭模式運行。Playwright:滑動驗證碼案例生成登錄流程代碼安裝 playwright 后,運行下面命令進行錄制瀏覽器操作,并生成代碼:python -m playwright codegen
    0X00 前言如果在滲透中遇到帶有驗證碼的網站登錄口,相信很多小伙伴遇到了帶驗證碼的登錄口就直接放棄了爆破弱口令的想法,這樣會喪失很多機會,所以今天就讓我來推薦一些可以識別驗證碼的Burp插件,以此用來爆破登錄口。
    由于測試過程中很多系統我們能接觸到的只有一個登陸界面,所以要充分挖掘漏洞,進行深入操作登錄 注冊萬能密碼繞過登錄存在 SQL 注入的情況下,有可能使用萬能密碼直接登錄admin' or '1'='1'--. 有超級多登錄口 SQL 注入存在 SQL 注入的話直接注出賬密有些可以構造用戶注入登錄,比如熊海 cms 后臺登錄處存在 sql 注入$login=$_POST['login'];
    驗證碼識別將Access_token復制進captcha-killer,點擊識別,成功識別驗證碼4.5?0x03 總結在滲透測試的過程中,登錄框中遇到驗證碼是很常見的一件事情,所以大家一定要掌握驗證碼識別這個技巧,有時候百度OCR可能識別精度不高,也歡迎大家嘗試別的OCR平臺的方法,可以一起交流!
    修改完后導入burpAttack type處選擇 Pitchfork,在http頭部位置插入xiapao:驗證碼的URL地址此處導入字典選擇驗證碼識別然后把線程設置為1
    注意默認使用jdk1.8編譯在最新版的burp2.x中jdk為1x,會導致插件不可用,使用jdk8編譯到不行,請下載jdk16版本試試,若還不行,請自行下載源碼使用當前電腦的jdk1x進行編譯,謝謝。爆破時,記得把線程設置為1安裝需要python3 小于3.7的版本如果是用win系統可以直接下載打包好的環境,內置python3.6.6版本以及下載好對應的模塊NEW_xp_CAPTCHA win64 python環境完整版。
    該項目不是我的項目,本文章僅僅是為了記錄在使用該項目中碰到的問題
    驗證碼爆破總結
    2022-12-28 09:20:27
    驗證碼爆破總結
    一名用戶將自己的86萬元積蓄存入了光大銀行。開通手機銀行功能后,存入了10萬元錢。文惠對存款被盜一事毫不知情。但為時已晚,在8月3日-8月10日之間,存款已被盜刷。在該案件中,光大銀行因沒能保障客戶存取款交易安全不受非法侵害,被判全責。截至目前,距離存款被盜刷已有一年多時間。目前尚無法確定嫌疑人身份,大概率是在緬甸附近。也就是說, 除交易密碼泄露以外,文惠的短信驗證碼也可能已被竊取。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类