問題剖析:常見於APP等客戶端軟件,通過攔截替換返回信息,繞過客戶端本地驗證。
0X03 短信轟炸
短信轟炸是手機驗證碼漏洞中最常見的一種漏洞類型。
在測試的過程中,對短信驗證碼接口進行重放,導致大量發送惡意短信。
案例一:無限制,任意下發
案例二:有一定時間間隔,無限下發
每隔60秒可下發一條短信,無限下發,短信轟炸。在測試過程中,可通過編寫Python腳本來計算短信下發時間間隔,實現短信轟炸。
#coding=utf-8import jsonimport requestsimport timestart_time = time.time()count =input("Please input counts:")phone =raw_input("Please inut your phone:")i=0while (i0X04 驗證碼爆破
短信驗證碼一般由4位或6位數字組成,若服務端未對驗證時間、次數進行限制,則存在被爆破的可能。
輸入手機號獲取驗證碼,輸入任意短信驗證碼,發起請求,抓包,將短信驗證碼字段設置成payloads取值範圍為000000-999999進行暴力破解,根據返回響應包長度判斷是否爆破成功。
0X05 驗證碼與手機號未綁定
一般來說短信驗證碼僅能使用一次,驗證碼和手機號未綁定,驗證碼一段時期內有效,那麼就可能出現如下情況:
1、A手機的驗證碼,B可以拿來用
2、A手機在一定時間間隔內接到兩個驗證碼,都可以用。
案例一:任意用戶密碼重置
1.使用自己手機號收取驗證碼
2.自己的驗證碼和對方的手機號填上,下一步城管設置新密碼
解決方案:
1.在服務器進行有效驗證,手機號和驗證碼在服務器進行唯一性綁定驗證。
2.在服務端限制驗證碼發送週期,設置時效,限制次數。
閱讀更多 信息安全搬運工 的文章