基于web頁面驗證碼機制漏洞的檢測
在區塊鏈這一塊上,每個用戶或多或少都在部分網站上注冊過一些帳號,當這些帳號涉及到金錢或者利益的時候,帳號的安全就是一個非常值得重視的問題,因此帳號的安全是各個廠商所非常關注的一個點。但是依然會存在一些廠商在身份驗證這一塊上存在著漏洞,并不是廠商不注重這個問題,只是在代碼層的驗證過程中的邏輯出現了一些差異,往往這些邏輯漏洞利用起來比較容易。
0x00不可靠的前端校驗
在現實環境中,會有許多的網站他們沒有嚴格進行身份校驗,他們往往是通過依靠帳號密碼發送后回傳的狀態碼來判斷用戶身份是否正確,這就暴露出了很大的漏洞,這種漏洞利用起來就相當的容易,往往只需要一個安全界的神器BURP就可以完成身份驗證的繞過,在登錄的時候輸入正確的賬戶以及隨意的密碼,將報文攔截下來,然后選擇burp里面的攔截返回包的功能,捕捉返回的狀態碼
ZBG創新區幣種IDV上線至今漲幅超2100%:根據ZBG行情顯示,IDV于3月5日上線ZBG創新區,開盤價為0.001USDT。截止發稿前,漲幅已超2100%, 24H最高報價0.2298USDT。
IdavollNetwork(IDV)是基于Substrate開發框架的波卡生態DAO基礎設施,也是Web3基金會Grant資助的首批DAO項目,2月25日官宣完成戰略融資,共數十家機構參與,包括DFG、SparkDigitalCapital、OasisCapital、YBBFoundation、HashweiVentures、ChainCapital、ZBGCapital、ACCapital、Gate.io等。[2021/3/31 19:31:57]
將返回包中的狀態碼修改為正常登錄的狀態碼,當然這里的狀態碼不一定都是0和1這種,各種狀態碼都有可能存在,那么我們怎么樣判斷正確的狀態碼是什么呢?
Bitcoin Advisory創始人:處于成本考慮 保持以節點驗證比特幣很重要:比特幣咨詢公司Bitcoin Advisory創始人Pierre Rochard發推稱,由于黃金非常昂貴,所以國家將鑄幣業與黃金驗證結合起來。這也是為什么保持用節點驗證比特幣從而讓成本可負擔很重要的原因之一。[2020/8/15]
這里我們就需要自己手動注冊一個用戶,然后進行正常登錄,并且抓取返回的狀態碼,當你發現發回的報文中,僅僅只存在狀態碼,并沒有其他set-cookie或者tocken等信息的時候,那么這個登錄界面就有極大的可能性存在這種漏洞。這是比較致命的一種漏洞,那么你可能就會有其他的問題了,即使他存在了這種漏洞,但是我們不太可能擁有其他大量的帳號,這個漏洞的危害不就沒什么用了碼?這就是我接下來要說的問題。
0x01遍歷手機號
現在大多數的網站都存在著手機號注冊的這一個功能,一般來說同一個手機號只能注冊一個帳號,所以手機號也是能作為帳號,這就是能利用的一個點,當手機號能成為帳號的時候,那么之前所存在的疑問就解決了一半,既然知道手機是可以用來登錄的帳號,那么如何來獲得這些手機號呢?這個問題其實是一個非常好的問題,對于手機號來說,一共有11位數,要想胡亂的猜測一個手機號是否在這個平臺上注冊過,一次性猜中的概率是微乎其微,但是有的網站的忘記密碼這一功能就存在利用的方法,但是我認為他的危害性還是有的。在我們忘記密碼的時候輸入手機號碼,發送手機驗證碼的時候,部分網站都會先查詢這個手機號是否在這個網站上注冊過,要是沒有則會提示號碼不存在,存在則發送短信。那么可以使用這一個邏輯來進行用戶手機號遍歷。順帶提一下手機號碼可以使用手機號碼字典生成器來生成,然后用來遍歷。
Bitcoin Advisory創始人:比特幣擁有比其他貨幣都多的“參考客戶”:比特幣咨詢公司Bitcoin Advisory創始人Pierre Rochard今日發推稱,比特幣擁有比市場上任何其他貨幣產品都多的“參考客戶(reference customers)”。什么是參考客戶?1. 真實的人,不是假想的。2. 在生產環境中實際運行的。3.實際購買或獲得了產品。4. 向其他人宣傳產品。[2020/8/4]
如圖所示,用戶不存在則是另外的信息。我們只需根據length長度來辨別,也可以自己寫py腳本來遍歷保存注冊用戶。這一個點可以獲取到大量的用戶手機號。
0x02可爆破的手機驗證碼
前面介紹了前端校驗繞過的方法以及用戶手機號獲取的方式,接下來來講解一下手機驗證碼的問題。我放一張思維導圖來供大家參考
手機驗證碼存在的位置可能有三個點:登錄、注冊、密碼找回這三個點。其中注冊這個點的危害相對較小,除非找到一個可以批量注冊帳號的點。
Bitcoin Advisory創始人:世界上最好的保險是持有整個比特幣:今日,比特幣咨詢公司Bitcoin Advisory創始人Pierre Rochard發推稱,世界上最好的保險是持有整個比特幣。第二好的是持有比特幣的一小部分,1枚比特幣可以分成100,000,000枚satoshis。[2020/5/25]
那么危害較大的就剩下登錄和密碼找回了,實際這兩個點的原理是一樣的,只不過利用的環境有所不同。
目前登錄時候使用手機驗證碼登錄的網站數量不是占很大的百分比,本文就以找回密碼這塊來說明。
我們在測試之前首先要進行判斷的時候他的手機短信驗證碼的長度、時效以及頁面是否存在有比較難的圖片驗證碼,也就是難以用python的庫直接識別的圖片驗證碼。這是我們首先要注意的,其次提交一次表單,抓包來看看,是否存在有前端加密,或者sign等。我以手機驗證碼長度為4位和6位來分類。
聲音 | Newton Advisor創始人:比特幣不會立即回到高位:據CNBC報道,Newton Advisor創始人兼分析師Mark Newton表示,鑒于自5月以來比特幣大幅下滑,人們不應該太貪心。看看近期的周期,并不意味著比特幣會立即回到高位。Newto表示仍然會“等待和觀察”比特幣是否可以因過去一個月的表現而恢復。比特幣在上周一直難以突破7000美元,并在7月份的大部分時間里以6000美元左右的價格交易。根據CoinDesk的數據,比特幣今年已下跌大約有50%,比去年12月的兩萬美元的高點下降了60%。Newton預計在比特幣價格大幅上漲前,會經歷5%至10%的下跌。[2018/7/25]
第一類:4位手機驗證碼
當我們發現手機驗證碼長度為4位的時候,時效為5分鐘左右,并且沒有什么復雜前端加密或者sign和復雜的圖片驗證碼的時候,那么恭喜你,你可能找到了一個可以爆破出驗證碼的點,這種漏洞雖然是爆破,但是他利用所花費的時間確實非常低的,通常可以在很短的時間內重置或者登錄一個手機號。這對廠商來說就是一個高危漏洞,相信他會給你不錯的報酬。
上面的這種屬于較為簡單的漏洞,筆者在前段時間測試的時候發現了帶有sign標記的4位驗證碼,這種的爆破的難度就有所提升了,他的sign是根據當前的時間戳以及手機號驗證碼等信息進行加密后生成的,要想去破解這個加密算法,是不太現實的。于是筆者就使用了一種騷思路,可能各位安全界的大佬們也用過,那就是python的selenium庫來模擬瀏覽器自動化點擊測試,但是這個就需要自己去根據網站的實際情況以及窗口位置來編寫腳本。關于selenium的提供一個學習鏈接。
第二類:6位手機驗證碼
通常來說6位的驗證碼,30分鐘的時效是一個挺安全的設計,因為在30分鐘內想跑完100W條數據的難度還是挺大,并且網站通常會根據發包速率來進行限制,一旦你的發包速率突破設定,你將會被403,也就是你的IP會被封禁一段時間,有這些設置的驗證碼是安全的,但是如果說時效在1小時甚至更長,并且不限制IP的發包速率了話,那么利用也是可以利用的,只不過利用的成本過高,所以基本不考慮。因此在導圖中寫到基本不不去考慮。
0x03現實環境下的漏洞案例思路以及分析
接下來給大家帶來一個真實的漏洞案例,也是我本人所挖掘到的一個高危漏洞,該漏洞是一個區塊鏈社區所存在的任意登錄漏洞
在登陸界面,由于圖片驗證碼長期有效,所以猜測可以爆破。
通過兩次提交發現圖片驗證碼在一定時間內是不會發生變化的,盡管已經經過了一次校驗。因為查看js發現驗證碼是由手機驗證碼經過sha256后從第六位開始取4位收到的驗證碼,測試時候輸入的驗證碼為1602
證明了這個加密算法,于是利用腳本生成了0000-9999的加密后的字典用來爆破。在爆破過程中發現,驗證碼的時效1分鐘左右,并不足以完成爆破。于是就換了另外一種思路,既然通過爆破是沒有辦法完成驗證碼的限制,則想到了程序員在編寫代碼的時候他會不會犯一種錯誤,猜想他是否會將過期后的驗證碼重置為一串特定的字符。既然有了這種猜想,那么就肯定需要來進行一波驗證,首先根據他的加密算法發現他的是sha256,也就是每一位驗證碼數據只會在0-f之間生成,于是生成了一個0000-ffff的字典,來進行了一波爆破,就如猜想的一樣,爆破出一個意外的數值,當然并不是在第一次爆破過程中發現的,第一次可能是一個意外,于是我便借用了別人的手機進行了幾次嘗試后,發現這個數值是固定的,那么這個漏洞就證明成立的了。
這樣就挖掘出了一個任意登錄帳號的漏洞,剛好這個網站又存在如之前所說的手機號遍歷的問題,于是結合這兩個點所產生的結果就是可以登錄任意用戶。
分析:綜合了這些問題,我綜合了幾點對廠商的建議:
1.在對用戶進行身份驗證的時候不要把信息校驗放在前端
2.手機驗證碼長度在6位以上
3.在進行發送短信校驗碼的時候不要在返回包中返回驗證碼的具體信息
4.在沒有獲取驗證碼的時候不要設置默認驗證碼數值
5.在用戶注冊頁面的驗證碼要對手機進行綁定,不要出現一個驗證碼可供多個手機使用的情況
注:本篇文章嚴禁用以非法用途
Tags:比特幣VisorSORDVI買賣比特幣會坐牢嗎警察找上門GastroAdvisorBlock Ape ScissorsNot Financial Advice
隨著各國央行和政界人士呼吁監管Facebook的加密項目,Facebook即將推出的Libra加密資產計劃面臨著監管問題.
1900/1/1 0:00:006月24日,JarvisPlus聯合創始人AlexLee做客深鏈學堂線上沙龍,主要圍繞著“萬億美金社交市場,Jarvis如何與巨頭分羹?”進行分享.
1900/1/1 0:00:00本著負責,專注,誠懇的態度用心寫每一篇分析文章,特點鮮明,不做作,不浮夸! 狂人說 今天看到了不少大額轉賬,其中比較重要的一筆是12個小時前,8884個比特幣去了P網,價值1億多美金.
1900/1/1 0:00:00幣安機構和VIP客戶最新調查結果分析 要點 長線投資是最受大型機構客戶青睞的策略之一。去中心化借貸平臺還未得到廣泛應用,非托管式去中心化平臺專業投資人們也鮮有涉足.
1900/1/1 0:00:00親愛的Coinw用戶:官方指定錢包HyperPay現已開啟USDT穩定幣理財,理財周期30天。理財將分三階段進行,活動開啟第一周存入的用戶將享受20%年化收益,第二周存入的用戶將享受16%年化收.
1900/1/1 0:00:00親愛的用戶: Binance將于2019年06月24日18:00上線USDSB/USDT、USDSB/USDS交易市場.
1900/1/1 0:00:00