安全測(cè)試 : 奇安信(qianxin.com)網(wǎng)站短信接口安全測(cè)試,這個(gè)隱患要十分注意,不然可能瞬間損失數(shù)萬!
安全問題不容忽視,不要亡羊補(bǔ)牢!
前言
本文詳細(xì)介紹了針對(duì)發(fā)送短信驗(yàn)證碼接口的安全性測(cè)試過程,包含思路、部分測(cè)試代碼以及測(cè)試結(jié)果。
本次測(cè)試網(wǎng)站 —奇安信(qianxin.com)
奇安信是一家提供安全服務(wù)的網(wǎng)站平臺(tái)。
一丶找到對(duì)外短信接口
從該網(wǎng)站注冊(cè)入口可以發(fā)現(xiàn),也是通過發(fā)送手機(jī)短信驗(yàn)證碼來完成注冊(cè)。
二丶分析外部防御措施
- 輸入手機(jī)號(hào)發(fā)送驗(yàn)證碼
外部防御措施:無
三丶查看請(qǐng)求報(bào)文
1. 找到發(fā)送短信的請(qǐng)求
按下F12
打開瀏覽器控制臺(tái),再次點(diǎn)擊發(fā)送驗(yàn)證碼
按鈕通過控制臺(tái)找出發(fā)送短信的請(qǐng)求。
2. 查看請(qǐng)求方式
3. 查看請(qǐng)求報(bào)文頭
4. 查看請(qǐng)求參數(shù)
據(jù)觀察請(qǐng)求參數(shù)使用了base64
加密
使用在線解碼工具可以看到加密參數(shù)中除了參數(shù)名phone
和手機(jī)號(hào)碼外還有些特殊字符
由于前面的特殊字符和參數(shù)名都為固定值,所以我們只需要將手機(jī)號(hào)碼加密替換掉原參數(shù)的手機(jī)號(hào)碼加密串即可。
5. 查看返回值
四丶分析測(cè)試
1. 分析測(cè)試要點(diǎn)
- 參數(shù)使用
base64
加密
2. 編寫代碼模擬請(qǐng)求進(jìn)行測(cè)試
接著利用Java模擬報(bào)文請(qǐng)求 ,進(jìn)行測(cè)試。部分代碼如下:
//配置請(qǐng)求頭
inheads.put("Content-Type", "application/grpc-web-text");
inheads.put("Host", "passport.qianxin.com");
inheads.put("Origin", "https://passport.qianxin.com");
inheads.put("Accept", "application/grpc-web-text");
inheads.put("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36");
inheads.put("Referer", "https://passport.qianxin.com/reg/register");
//配置請(qǐng)求參數(shù)
String str = "AAAAABoQABgBIhQKBXBob25lEgsx"+Base64.encode(phone.substring(1, phone.length()));
//配置請(qǐng)求
retEntity = this.userClick(httpclient, cookieStore, "post", "https://passport.qianxin.com/api/zeus.CodeV1/CreateCode", inheads, outheads, input, phone);
啟動(dòng)測(cè)試:
1次:
手機(jī)號(hào)碼唯一,IP唯一:
10次 --間隔時(shí)間1秒:
手機(jī)號(hào)碼不唯一,IP唯一:
10次 --間隔時(shí)間1秒:
五丶結(jié)果分析
測(cè)試目標(biāo):
針對(duì)發(fā)送短信驗(yàn)證碼接口進(jìn)行安全性測(cè)試。
測(cè)試思路:
1.找到請(qǐng)求接口
2.分析請(qǐng)求報(bào)文
3.模擬請(qǐng)求測(cè)試
測(cè)試結(jié)果:
請(qǐng)求參數(shù)加密
但手機(jī)號(hào)碼頻率限制
測(cè)試結(jié)論:
當(dāng)遇到更換手機(jī)號(hào)以及IP的攻擊時(shí),該網(wǎng)站的所有防御措施均無效。
風(fēng)險(xiǎn)等級(jí): 極高
六丶結(jié)語
很多人在短信服務(wù)剛開始建設(shè)的階段,可能不會(huì)在安全方面考慮太多,理由有很多。
比如:“ 需求這么趕,當(dāng)然是先實(shí)現(xiàn)功能啊 ”,“ 業(yè)務(wù)量很小啦,系統(tǒng)就這么點(diǎn)人用,不怕的 ” , “ 我們?cè)趺磿?huì)被盯上呢,不可能的 ”等等。有一些理由雖然有道理,但是該來的總是會(huì)來的。前期欠下來的債,總是要還的。越早還,問題就越小,損失就越低。
所以大家在安全方面還是要重視。(血淋淋的栗子?。?a >#安全短信#
谷歌圖形驗(yàn)證碼在AI 面前已經(jīng)形同虛設(shè),所以谷歌宣布退出驗(yàn)證碼服務(wù), 那么當(dāng)所有的圖形驗(yàn)證碼都被破解時(shí),大家又該如何做好防御呢?