基于web頁面驗證碼機制漏洞的檢測
在區塊鏈這一塊上,每個用戶或多或少都在部分網站上注冊過一些帳號,當這些帳號涉及到金錢或者利益的時候,帳號的安全就是一個非常值得重視的問題,因此帳號的安全是各個廠商所非常關注的一個點。但是依然會存在一些廠商在身份驗證這一塊上存在著漏洞,并不是廠商不注重這個問題,只是在代碼層的驗證過程中的邏輯出現了一些差異,往往這些邏輯漏洞利用起來比較容易。
0x00不可靠的前端校驗
在現實環境中,會有許多的網站他們沒有嚴格進行身份校驗,他們往往是通過依靠帳號密碼發送后回傳的狀態碼來判斷用戶身份是否正確,這就暴露出了很大的漏洞,這種漏洞利用起來就相當的容易,往往只需要一個安全界的神器BURP就可以完成身份驗證的繞過,在登錄的時候輸入正確的賬戶以及隨意的密碼,將報文攔截下來,然后選擇burp里面的攔截返回包的功能,捕捉返回的狀態碼
DeFi協議Backd完成356萬美元融資,Advanced Blockchain AG領投:6月20日消息,DeFi協議Backd宣布完成356萬美元融資,Advanced BlockchainAG領投,Spartan Group、Maven11、Struck Crypto、Apollo Capital和Divergence Ventures參投。
Backd通過部署反應性流動性池來最大化DeFi用戶資產復合收益,通過Backd的收益聚合流動性池和操作的核心協議架構,自動將流動性委托給外部協議,繼而提高資產效用和效率。(Cointelegraph)[2022/6/21 4:41:12]
將返回包中的狀態碼修改為正常登錄的狀態碼,當然這里的狀態碼不一定都是0和1這種,各種狀態碼都有可能存在,那么我們怎么樣判斷正確的狀態碼是什么呢?
這里我們就需要自己手動注冊一個用戶,然后進行正常登錄,并且抓取返回的狀態碼,當你發現發回的報文中,僅僅只存在狀態碼,并沒有其他set-cookie或者tocken等信息的時候,那么這個登錄界面就有極大的可能性存在這種漏洞。這是比較致命的一種漏洞,那么你可能就會有其他的問題了,即使他存在了這種漏洞,但是我們不太可能擁有其他大量的帳號,這個漏洞的危害不就沒什么用了碼?這就是我接下來要說的問題。
加密財富管理公司Eaglebrook Advisors完成2000萬美元融資:1月26日消息,加密財富管理公司 Eaglebrook Advisors 完成了 2000 萬美元A系列融資,Castle Island Ventures 和 Brewer Lane Ventures 領投,其他支持者包括 Gemini 旗下風投 Frontier Fund、Fidelity Investments 的附屬公司 Avon Ventures、Jump Capital 和 Sybil Capital。
Eaglebrook 成立于2019年,與美國約500名財務顧問和40家注冊投資顧問 (RIA)合作,將客戶資金分配給 Eaglebrook 的獨立管理賬戶 (SMA) 。Eaglebrook 專注于加速采用加密貨幣SMA作為財富管理公司的首選工具。Eaglebrook 首席執行官 Christopher King表示,除了比特幣和以太坊,公司正在尋求增加專注于去中心化金融 (DeFi)、第 1 層和第 2 層協議、NFT、玩賺游戲等產品,并計劃在2022年擴展到經紀自營商和和電匯市場。(Blockworks)[2022/1/26 9:13:20]
0x01遍歷手機號
Republic Realm投資Dvision元宇宙,已購買逾70萬美元虛擬地塊:12月11日消息,多鏈元宇宙平臺Dvision Network宣布與數字房地產投資基金Republic Realm達成合作,后者已投資其LAND NFT。
據悉,Republic Realm最近以430萬美元購買The Sandbox地塊,創虛擬土地銷售價格歷史記錄。通過購買虛擬土地,Republic Realm致力于對一些最具前瞻性的元宇宙進行投資。Republic Realm此前在Axie Infinity、The Sandbox、Somnium Space和Decentraland購買最大的地塊,現在它已經購買Dvision Network中最大部分的地塊。
Republic Realm在Dvision元宇宙中獲得18個3×3的優質LAND NFT。截至目前,這些土地的最低價值約為每NFT 4萬美元,這意味著Republic Realm擁有價值超過70萬美元的Dvision NFT。(Bitcoin.com)[2021/12/11 7:33:03]
現在大多數的網站都存在著手機號注冊的這一個功能,一般來說同一個手機號只能注冊一個帳號,所以手機號也是能作為帳號,這就是能利用的一個點,當手機號能成為帳號的時候,那么之前所存在的疑問就解決了一半,既然知道手機是可以用來登錄的帳號,那么如何來獲得這些手機號呢?這個問題其實是一個非常好的問題,對于手機號來說,一共有11位數,要想胡亂的猜測一個手機號是否在這個平臺上注冊過,一次性猜中的概率是微乎其微,但是有的網站的忘記密碼這一功能就存在利用的方法,但是我認為他的危害性還是有的。在我們忘記密碼的時候輸入手機號碼,發送手機驗證碼的時候,部分網站都會先查詢這個手機號是否在這個網站上注冊過,要是沒有則會提示號碼不存在,存在則發送短信。那么可以使用這一個邏輯來進行用戶手機號遍歷。順帶提一下手機號碼可以使用手機號碼字典生成器來生成,然后用來遍歷。
百威推出“Key to the Budverse” NFT系列:金色財經報道,今天百威啤酒將發布其第一個系列的NFTs,被稱為Budverse罐。該系列將跨越1936個獨立的NFT收藏品,指的是該公司首次開始發行罐裝啤酒的年份。每個NFT將以經典照片、廣告和設計文件為特色,描繪品牌的歷史。此前報道,百威啤酒在8月進入了NFT領域,當時它從湯姆-薩克斯的火箭工廠系列中購買了一件以百威為主題的作品,并將其用于該品牌的官方Twitter頁面。(Decrypt)[2021/11/30 12:40:28]
如圖所示,用戶不存在則是另外的信息。我們只需根據length長度來辨別,也可以自己寫py腳本來遍歷保存注冊用戶。這一個點可以獲取到大量的用戶手機號。
0x02可爆破的手機驗證碼
前面介紹了前端校驗繞過的方法以及用戶手機號獲取的方式,接下來來講解一下手機驗證碼的問題。我放一張思維導圖來供大家參考
Bitcoin Advisory創始人:比特幣擁有比其他貨幣都多的“參考客戶”:比特幣咨詢公司Bitcoin Advisory創始人Pierre Rochard今日發推稱,比特幣擁有比市場上任何其他貨幣產品都多的“參考客戶(reference customers)”。什么是參考客戶?1. 真實的人,不是假想的。2. 在生產環境中實際運行的。3.實際購買或獲得了產品。4. 向其他人宣傳產品。[2020/8/4]
手機驗證碼存在的位置可能有三個點:登錄、注冊、密碼找回這三個點。其中注冊這個點的危害相對較小,除非找到一個可以批量注冊帳號的點。
那么危害較大的就剩下登錄和密碼找回了,實際這兩個點的原理是一樣的,只不過利用的環境有所不同。
目前登錄時候使用手機驗證碼登錄的網站數量不是占很大的百分比,本文就以找回密碼這塊來說明。
我們在測試之前首先要進行判斷的時候他的手機短信驗證碼的長度、時效以及頁面是否存在有比較難的圖片驗證碼,也就是難以用python的庫直接識別的圖片驗證碼。這是我們首先要注意的,其次提交一次表單,抓包來看看,是否存在有前端加密,或者sign等。我以手機驗證碼長度為4位和6位來分類。
第一類: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:NFTDVIUBLREALMSNFT幣GastroAdvisorDoubloonrealmedicinesupplychain
Facebook要發幣,這個幣的名字叫Libra。近日,國內國外,圈內圈外,大大小小各家媒體無一不在聚焦這件大事.
1900/1/1 0:00:00比特幣價格繼續飆升,周末突破10000美元大關,最高沖刺到11200美元,創年內新高。突破10000美元后,持有比特幣的地址在數據方面發生了變化,2017年11月后首次出現比特幣從鯨魚地址向散戶.
1900/1/1 0:00:00文章系金色財經專欄作者供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:006月22日,比特幣價格終于突破1萬美元關口,幣友們紛紛在朋友圈和微信群奔走相告,歡呼慶祝,甚至有幣友改編了美國前總統肯尼迪在1962年發表的激動人心的登月演講,給自己充值信仰.
1900/1/1 0:00:00火幣行情數據組:資金持續流入比特幣在市場樂觀情緒下破10000美金 文/火幣行情數據組 ?BTC在6月22日清晨突破了10000美金整數大關口,相對于去年12月低點3136美金累計漲逾200%.
1900/1/1 0:00:00隨著各國央行和政界人士呼吁監管Facebook的加密項目,Facebook即將推出的Libra加密資產計劃面臨著監管問題.
1900/1/1 0:00:00