0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

WebCrack如何自動(dòng)識(shí)別出要爆破的參數(shù)

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 作者:馬哥Linux運(yùn)維 ? 2022-08-14 11:45 ? 次閱讀

在做安全測(cè)試的時(shí)候,隨著資產(chǎn)的增多,經(jīng)常會(huì)遇到需要快速檢測(cè)大量網(wǎng)站后臺(tái)弱口令的問(wèn)題。

然而市面上并沒(méi)有一個(gè)比較好的解決方案,能夠支持對(duì)各種網(wǎng)站后臺(tái)的通用檢測(cè)。

所以WebCrack就應(yīng)運(yùn)而生。

工具簡(jiǎn)介

WebCrack是一款web后臺(tái)弱口令/萬(wàn)能密碼批量爆破、檢測(cè)工具。

不僅支持如discuz,織夢(mèng),phpmyadmin等主流CMS

并且對(duì)于絕大多數(shù)小眾CMS甚至個(gè)人開(kāi)發(fā)網(wǎng)站后臺(tái)都有效果。

在工具中導(dǎo)入后臺(tái)地址即可進(jìn)行自動(dòng)化檢測(cè)。

項(xiàng)目地址

https://github.com/yzddmr6/WebCrack

實(shí)現(xiàn)思路

大家想一下自己平常是怎么用burpsuite的intruder模塊來(lái)爆破指定目標(biāo)后臺(tái)的

抓包 -> send to intruder -> 標(biāo)注出要爆破的參數(shù) -> 發(fā)送payload爆破 -> 查看返回結(jié)果

找出返回包長(zhǎng)度大小不同的那一個(gè),基本上就是所需要的答案。

那么WebCrack就是模擬這個(gè)過(guò)程

但是就要解決兩個(gè)問(wèn)題

如何自動(dòng)識(shí)別出要爆破的參數(shù)

如何自動(dòng)判斷是否登錄成功

識(shí)別爆破參數(shù)

對(duì)于這個(gè)問(wèn)題采用了web_pwd_common_crack的解決辦法

就是根據(jù)提取表單中 user pass 等關(guān)鍵字,來(lái)判斷用戶(hù)名跟密碼參數(shù)的位置

但是在測(cè)試中還發(fā)現(xiàn),

有些前端程序員用拼音甚至拼音縮寫(xiě)來(lái)給變量命名

什么yonghu , zhanghao , yhm(用戶(hù)名), mima 等

雖然看起來(lái)很捉急,但是也只能把它們?nèi)考舆M(jìn)關(guān)鍵字判斷名單里。

如何判斷登錄成功

這個(gè)可以說(shuō)是最頭疼的問(wèn)題

如果對(duì)于一種管理系統(tǒng)還好說(shuō),只要找到規(guī)律,判斷是否存在登錄成功的特征就可以

但是作為通用爆破腳本來(lái)說(shuō),世界上的網(wǎng)站各種各樣,不可能去一個(gè)個(gè)找特征,也不可能一個(gè)個(gè)去正則匹配。

經(jīng)過(guò)借鑒web_pwd_common_crack的思路,與大量測(cè)試

總結(jié)出來(lái)了以下一套比較有效的判斷方式。

判斷是否動(dòng)態(tài)返回值并獲取Error Length

6395edda-1b11-11ed-ba43-dac502259ad0.png

先發(fā)送兩次肯定錯(cuò)誤的密碼如length_test

獲取兩次返回值并比較

如果兩次的值不同,則說(shuō)明此管理系統(tǒng)面對(duì)相同的數(shù)據(jù)包返回卻返回不同的長(zhǎng)度,此時(shí)腳本無(wú)法判斷,退出爆破。

如果相同,則記錄下此值,作為判斷的基準(zhǔn)。

然而實(shí)際中會(huì)先請(qǐng)求一次,因?yàn)榘l(fā)現(xiàn)有些管理系統(tǒng)在第一次登錄時(shí)會(huì)在響應(yīng)頭部增加標(biāo)記。如果去掉此項(xiàng)可能會(huì)導(dǎo)致判斷失誤。

判斷用戶(hù)名跟密碼的鍵名是否存在在跳轉(zhuǎn)后的頁(yè)面中

這個(gè)不用過(guò)多解釋?zhuān)绻嬖诘脑?huà)說(shuō)明沒(méi)登錄成功又退回到登錄頁(yè)面了。

有人會(huì)問(wèn)為什么不直接判斷兩個(gè)頁(yè)面是否相等呢

因?yàn)闇y(cè)試中發(fā)現(xiàn)有些CMS會(huì)給你在登錄頁(yè)面彈個(gè)登錄失敗的框,所以直接判斷是否相等并不準(zhǔn)確。

還有一種計(jì)算頁(yè)面哈希的辦法,然后判斷兩者的相似程度。

但是覺(jué)得并沒(méi)有那個(gè)必要,因?yàn)橛胁煌南到y(tǒng)難以用統(tǒng)一的閾值來(lái)判斷,故舍棄。

關(guān)鍵字黑名單檢測(cè)

本來(lái)還設(shè)置了白名單檢測(cè)機(jī)制

就是如果有“登錄成功”的字樣出現(xiàn)肯定就是爆破成功

但是后來(lái)發(fā)現(xiàn)并沒(méi)有黑名單來(lái)的必要。

因?yàn)槭紫炔豢赡馨阉蠧MS的登錄成功的正則樣本都放進(jìn)去

其次在測(cè)試的過(guò)程中,發(fā)現(xiàn)在其他檢測(cè)機(jī)制的加持后,白名單的判斷變得尤其雞肋,故舍棄。

并且黑名單的設(shè)置對(duì)于萬(wàn)能密碼爆破模塊很有好處,具體往下看吧。

Recheck環(huán)節(jié)

為了提高準(zhǔn)確度,防止誤報(bào)。

借鑒了web_pwd_common_crack的思路增加recheck環(huán)節(jié)。

就是再次把crack出的賬號(hào)密碼給發(fā)包一次,并且與重新發(fā)送的error_length作比對(duì)

如果不同則為正確密碼。

在這里沒(méi)有沿用上一個(gè)error_length,是因?yàn)樵趯?shí)際測(cè)試中發(fā)現(xiàn)由于waf或者其他因素會(huì)導(dǎo)致返回包長(zhǎng)度值變化。

框架拓展

用上面幾種辦法組合起來(lái)已經(jīng)可以做到基本的判斷算法

但是為了使WebCrack更加強(qiáng)大,我又添加了以下三個(gè)模塊

動(dòng)態(tài)字典

這個(gè)不用過(guò)多解釋?zhuān)芏啾乒ぞ呱隙家呀?jīng)集成了。

假如沒(méi)有域名,正則檢測(cè)到遇到IP的話(huà)就會(huì)返回一個(gè)空列表。

假如域名是

test.webcrack.com

那么就會(huì)生成以下動(dòng)態(tài)字典列表

test.webcrack.com
webcrack.com
webcrack
webcrack123
webcrack888
webcrack666
webcrack123456

后綴可以自己在腳本中定義。

萬(wàn)能密碼檢測(cè)

后臺(tái)的漏洞除了弱口令還有一大部分是出在萬(wàn)能密碼上

在WebCrack中也添加了一些常用的payload

admin' or 'a'='a
'or'='or'
admin' or '1'='1' or 1=1
')or('a'='a
'or 1=1--

可以自行在腳本里添加更多payload。

但是同時(shí)帶來(lái)個(gè)問(wèn)題會(huì)被各大WAF攔截

這時(shí)候黑名單就派上用場(chǎng)啦

可以把WAF攔截的關(guān)鍵字寫(xiě)到檢測(cè)黑名單里,從而大大減少誤報(bào)。

小插曲

用webcrack檢測(cè)目標(biāo)資產(chǎn)進(jìn)入到了recheck環(huán)節(jié)

63bcd062-1b11-11ed-ba43-dac502259ad0.png

但是webcrack卻提示爆破失敗。

手工測(cè)試了一下檢測(cè)出的萬(wàn)能密碼

63cb6d8e-1b11-11ed-ba43-dac502259ad0.png

發(fā)現(xiàn)出現(xiàn)了sql錯(cuò)誤信息

意識(shí)到可能存在后臺(tái)post注入

63eadf02-1b11-11ed-ba43-dac502259ad0.png

發(fā)現(xiàn)了sa注入點(diǎn)

這也反應(yīng)了對(duì)于后臺(tái)sql注入,webcrack的正則匹配還做的不夠完善,下一個(gè)版本改一下。

自定義爆破規(guī)則

有了上面這些機(jī)制已經(jīng)可以爆破大部分網(wǎng)站后臺(tái)了

然而還是有一些特(sha)殊(diao)網(wǎng)站,并不符合上面的一套檢測(cè)算法

于是webcrack就可以讓大家自定義爆破規(guī)則。

自定義規(guī)則的配置文件放在同目錄cms.json文件里

參數(shù)說(shuō)明

[    {        "name":"這里是cms名稱(chēng)",        "keywords":"這里是cms后臺(tái)頁(yè)面的關(guān)鍵字,是識(shí)別cms的關(guān)鍵",        "captcha":"1為后臺(tái)有驗(yàn)證碼,0為沒(méi)有。因?yàn)榇税姹静](méi)有處理驗(yàn)證碼,所以為1則退出爆破",        "exp_able":"是否啟用萬(wàn)能密碼模塊爆破",        "success_flag":"登錄成功后的頁(yè)面的關(guān)鍵字",        "fail_flag":"請(qǐng)謹(jǐn)慎填寫(xiě)此項(xiàng)。如果填寫(xiě)此項(xiàng),遇到里面的關(guān)鍵字就會(huì)退出爆破,用于dz等對(duì)爆破次數(shù)有限制的cms",        "alert":"若為1則會(huì)打印下面note的內(nèi)容",        "note":"請(qǐng)保證本文件是UTF-8格式,并且請(qǐng)勿刪除此說(shuō)明"    }]

舉個(gè)例子

{        "name":"discuz",        "keywords":"admin_questionid",        "captcha":0,        "exp_able":0,        "success_flag":"admin.php?action=logout",        "fail_flag":"密碼錯(cuò)誤次數(shù)過(guò)多",        "alert":0,        "note":"discuz論壇測(cè)試"    }

其實(shí)對(duì)于dz,dedecms,phpmyadmin等框架本身的邏輯已經(jīng)可以處理

添加配置文件只是因?yàn)槌绦蚰J(rèn)會(huì)開(kāi)啟萬(wàn)能密碼爆破模塊

然而萬(wàn)能密碼檢測(cè)會(huì)引起大多數(shù)WAF封你的IP

對(duì)于dz,dedecms這種不存在萬(wàn)能密碼的管理系統(tǒng)如果開(kāi)啟的話(huà)不僅會(huì)影響效率,并且會(huì)被封IP

所以配置文件里提供了各種自定義參數(shù),方便用戶(hù)自己設(shè)置。

關(guān)于驗(yàn)證碼

驗(yàn)證碼識(shí)別算是個(gè)大難題吧

自己也寫(xiě)過(guò)一個(gè)帶有驗(yàn)證碼的demo,但是效果并不理想

簡(jiǎn)單的驗(yàn)證碼雖然能夠識(shí)別一些,但是遇到復(fù)雜的驗(yàn)證碼就效率極低,拖慢爆破速度

并且你識(shí)別出來(lái)也不一定就有弱口令。。。

所以就去掉了這個(gè)功能

總流程圖

一套流程下來(lái)大概是長(zhǎng)這個(gè)亞子

63f4a578-1b11-11ed-ba43-dac502259ad0.png

對(duì)比測(cè)試

找了一批樣本測(cè)試,跟tidesec的版本比較了一下

web_pwd_common_crack 跑出來(lái)11個(gè)

其中7個(gè)可以登錄。4個(gè)是邏輯上的誤報(bào),跟waf攔截后的誤報(bào)。

webcrack 跑出來(lái)19個(gè)

其中16個(gè)可以登錄。2個(gè)是ecshop的誤報(bào),1個(gè)是小眾cms邏輯的誤報(bào)。

webcrack比web_pwd_common_crack多探測(cè)出來(lái)的9個(gè)中

有5個(gè)是萬(wàn)能密碼漏洞,2個(gè)是發(fā)現(xiàn)的web_pwd_common_crack的漏報(bào),2個(gè)是動(dòng)態(tài)字典探測(cè)出來(lái)的弱口令。

最后

這個(gè)項(xiàng)目斷斷續(xù)續(xù)寫(xiě)了半年吧

主要是世界上奇奇怪怪的網(wǎng)站太多了,后臺(tái)登錄的樣式五花八門(mén)。

有些是登錄后給你重定向302到后臺(tái)

有些是給你重定向到登錄失敗頁(yè)面

有些是給你返回個(gè)登錄成功,然后你要手動(dòng)去點(diǎn)跳轉(zhuǎn)后臺(tái)

有些直接返回空數(shù)據(jù)包。。。

更神奇的是ecshop(不知道是不是所有版本都是這樣)

假如說(shuō)密碼是yzddmr6

但是你輸入admin888 與其他錯(cuò)誤密碼后的返回頁(yè)面居然不一樣。。。

因?yàn)榧尤肓巳f(wàn)能密碼模塊后經(jīng)常有WAF攔截,需要測(cè)試各個(gè)WAF對(duì)各個(gè)系統(tǒng)的攔截特征以及關(guān)鍵字。

總的半年下來(lái)抓包抓了上萬(wàn)個(gè)都有了。。。。。。

因?yàn)橥ㄓ眯捅疲赡軣o(wú)法做到百分百準(zhǔn)確,可以自己修改配置文件來(lái)讓webcrack更符合你的需求。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 密碼
    +關(guān)注

    關(guān)注

    8

    文章

    188

    瀏覽量

    30456
  • 網(wǎng)站
    +關(guān)注

    關(guān)注

    1

    文章

    257

    瀏覽量

    23128
  • 管理系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    2377

    瀏覽量

    35763

原文標(biāo)題:WebCrack:網(wǎng)站后臺(tái)弱口令批量檢測(cè)工具

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何實(shí)現(xiàn)串口的自動(dòng)識(shí)別

    用visa設(shè)計(jì)串口通信程序每次都得選擇串口,請(qǐng)問(wèn)有沒(méi)有哪位大俠會(huì)設(shè)計(jì)能夠自動(dòng)識(shí)別串口的程序??謝謝了~
    發(fā)表于 03-23 22:48

    求助帖 labview自動(dòng)識(shí)別

    自動(dòng)識(shí)別 ,不想直接在前面板組合框中輸入,因?yàn)槿绻砀裰械腁和B變成C和D的話(huà)就不匹配了,想實(shí)現(xiàn)自動(dòng)識(shí)別。問(wèn)題是組合框是字符串類(lèi)型,A,B形成了一個(gè)一維數(shù)組,怎么辦?。?!求助
    發(fā)表于 04-19 14:34

    負(fù)載自動(dòng)識(shí)別與測(cè)量裝置

    制作一個(gè)負(fù)載自動(dòng)識(shí)別測(cè)量裝置,可以識(shí)別感性負(fù)載 容性負(fù)載 純電阻負(fù)載 并能對(duì)被測(cè)量的負(fù)載進(jìn)行定量的測(cè)量 顯示相關(guān)參數(shù)值關(guān)于電源:只提供一組正負(fù)5V直流電源求助~~小白表示毫無(wú)思路各位大神們幫幫忙 不需要具體方案 給個(gè)思路就行
    發(fā)表于 10-29 17:52

    說(shuō)說(shuō)利用vision assitant實(shí)現(xiàn)數(shù)字的自動(dòng)識(shí)別。

    最近一周無(wú)聊試下vision assitant里面的OCR功能,因?yàn)橹白龅囊粋€(gè)機(jī)械零件編號(hào)檢測(cè)需要識(shí)別上面的數(shù)字。簡(jiǎn)單介紹一下如何做到自動(dòng)識(shí)別。1.查找范例OCR,里面有個(gè)自動(dòng)識(shí)別,先放在
    發(fā)表于 03-18 10:39

    請(qǐng)問(wèn)USB自動(dòng)識(shí)別芯片RH7901是怎樣自動(dòng)識(shí)別充電設(shè)備的?

    本帖最后由 一只耳朵怪 于 2018-5-22 14:19 編輯 USB自動(dòng)識(shí)別芯片RH7901RH7902 怎樣自動(dòng)識(shí)別充電設(shè)備的?***彭SRH7901 RH7902是USB充電協(xié)議端口
    發(fā)表于 05-22 14:15

    如何使用AM335X的OTG功能,如果插入U(xiǎn)盤(pán)能否自動(dòng)識(shí)別

    最近使用AM335X的評(píng)估板,如何測(cè)試OTG的功能,Linux內(nèi)核已經(jīng)配好USB的配置,如果我將U盤(pán)接到OTG模式下的U口,系統(tǒng)能自動(dòng)識(shí)別出U盤(pán)嗎?如果我將OTG模式下的USB插入PC機(jī),PC能
    發(fā)表于 06-21 01:01

    我想把自動(dòng)識(shí)別出來(lái)的圖像從左到右編個(gè)順序。

    我做了個(gè)程序,能自動(dòng)識(shí)別圖像里面的圓形,并且得到中心點(diǎn)坐標(biāo)及圓的半徑,但是識(shí)別得出來(lái)的圓形順序是隨機(jī)的,我想給它們從左到右編個(gè)號(hào),請(qǐng)問(wèn)能怎么實(shí)現(xiàn)?圖像是程序效果圖。
    發(fā)表于 09-28 14:14

    車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)的工作原理

    車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)的工作原理車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)組成車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)典型方案示意圖車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)給用戶(hù)帶來(lái)的利益
    發(fā)表于 03-01 09:31

    車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)是怎樣組成的?

    車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)的工作原理是什么?車(chē)輛自動(dòng)識(shí)別稱(chēng)重系統(tǒng)是怎樣組成的?
    發(fā)表于 05-13 07:02

    智能交通系統(tǒng)中的車(chē)牌自動(dòng)識(shí)別技術(shù)有哪些應(yīng)用呢

    治安卡口等場(chǎng)合,成為研究的熱點(diǎn)。車(chē)牌識(shí)別技術(shù)是利用計(jì)算機(jī)等輔助設(shè)備進(jìn)行的自動(dòng)汽車(chē)牌照自動(dòng)識(shí)別就是在裝備了數(shù)字?jǐn)z像設(shè)備和計(jì)算機(jī)信息管理系統(tǒng)等軟硬件平臺(tái)的基礎(chǔ)之上,通過(guò)對(duì)車(chē)輛圖像的采集,采用先進(jìn)的圖像處理、模式
    發(fā)表于 03-02 06:30

    有適合自動(dòng)識(shí)別是risc-v架構(gòu)還是arm架構(gòu)的燒錄器嗎?

    目前市面上有自動(dòng)識(shí)別出被燒錄MCU是risc-v架構(gòu)還Arm架構(gòu)的燒錄器嗎?無(wú)需用戶(hù)手動(dòng)切換模式,能夠自動(dòng)識(shí)別到被燒錄MCU的內(nèi)核架構(gòu)。
    發(fā)表于 09-14 17:40

    STLink是怎么自動(dòng)識(shí)別STM32芯片型號(hào)的?

    這個(gè)自動(dòng)識(shí)別機(jī)制是怎么樣做到的
    發(fā)表于 10-27 08:32

    物聯(lián)網(wǎng)RFID車(chē)輛自動(dòng)識(shí)別

    人工干預(yù),適應(yīng)于各種惡劣環(huán)境,被廣泛應(yīng)用物流、交通等領(lǐng)域。傳統(tǒng)的停車(chē)以及收費(fèi)問(wèn)題都是由人工來(lái)實(shí)現(xiàn),經(jīng)常會(huì)發(fā)生排隊(duì)等候造成擁堵的現(xiàn)象,不僅增加了工作人員的工作強(qiáng)度,更是浪費(fèi)了雙方寶貴的時(shí)間,解決并改進(jìn)車(chē)輛自動(dòng)識(shí)別、停車(chē)以及收費(fèi)等問(wèn)題顯得十分重。本文設(shè)計(jì)的物
    發(fā)表于 01-30 16:21 ?7次下載

    WebCrack后臺(tái)弱口令指檢測(cè)

    WebCrack是一款web后臺(tái)弱口令/萬(wàn)能密碼批量爆破、檢測(cè)工具。
    的頭像 發(fā)表于 01-30 10:40 ?2397次閱讀

    水位自動(dòng)識(shí)別攝像機(jī)

    隨著科技的不斷發(fā)展,水位自動(dòng)識(shí)別攝像機(jī)作為一種智能技術(shù)產(chǎn)品,正在逐漸應(yīng)用于各種領(lǐng)域,為監(jiān)測(cè)水位提供了更加便捷、準(zhǔn)確的方法。這種攝像機(jī)可以自動(dòng)識(shí)別水位的高低,實(shí)時(shí)監(jiān)測(cè)水域情況,為防洪排澇、水資源
    的頭像 發(fā)表于 07-31 10:34 ?302次閱讀
    水位<b class='flag-5'>自動(dòng)識(shí)別</b>攝像機(jī)