短信平臺相關(guān)常見問題整理
在近期的滲透測試項(xiàng)目中,在短信平臺相關(guān)功能都出現(xiàn)了一些問題,現(xiàn)對滲透過程中發(fā)現(xiàn),及wooyun上出現(xiàn)的相關(guān)短信平臺的幾類問題做個整理。
一、短信發(fā)送無頻率限制
通過wooyun上搜索可見,該類漏洞是最為常見的。
漏洞成因: 對發(fā)送信息功能調(diào)用未做任何限制
漏洞危害:
1、可針對某用戶短時間內(nèi)發(fā)送大量垃圾短信,造成短信轟炸攻擊;
2、對于企業(yè),每發(fā)一條短信,都是需要向運(yùn)營商交付一些費(fèi)用,盡管比個人用戶費(fèi)用低,但是一旦被惡意利用大量發(fā)送后,造成較大的直接經(jīng)濟(jì)損失。
漏洞修補(bǔ):
1、限定同一手機(jī)號在一時間段內(nèi)發(fā)送次數(shù),如每分鐘發(fā)送1次,具體落實(shí)需結(jié)合用戶體驗(yàn)綜合考慮;
2、使用強(qiáng)壯的驗(yàn)證碼機(jī)制。
補(bǔ)充:曾在測試中發(fā)現(xiàn)某客戶的驗(yàn)證碼有效期為2分鐘,即2分鐘內(nèi)無需修改驗(yàn)證碼直接成功回放請求包,同樣可造成短信炸彈工具。因此,務(wù)必保證驗(yàn)證碼的強(qiáng)壯型,并采用一次一用機(jī)制。
二、短信發(fā)送內(nèi)容來自客戶端
這類漏洞一般不直觀,直接由用戶輸入來定義短信內(nèi)容的問題確實(shí)沒遇到過,這里的漏洞是把短信內(nèi)容放在的POST表單中,從頁面上無法發(fā)現(xiàn),需要抓包分析才能看到。
相關(guān)漏洞:
(知道這漏洞是哪家的同學(xué)也請噓,咱不討論它是誰的,另漏洞已經(jīng)修補(bǔ)了)
某系統(tǒng)可以在WEB頁面上選擇手機(jī)品牌和型號,填入手機(jī)號碼可發(fā)送下載地址至手機(jī),具體操作界面如下圖:
抓包查看該P(yáng)OST表單的內(nèi)容
正常情況下,用戶收到的短信即為客戶端提交的內(nèi)容:“var1下載:var2”,var1和var2分別為手機(jī)品牌和手機(jī)型號。
例如“NOKIA N97下載:wap.abc.com.cn/abc.sisx”。
由于短信內(nèi)容為客戶端定義的,即修改var1=NULL,var2=“恭喜您中獎,請登陸XXX領(lǐng)取”。此時目標(biāo)手機(jī)收到短信為:“下載:恭喜您中獎,請登陸XXX領(lǐng)取”。最終造成釣魚攻擊。
漏洞原因:直接原因是客戶端可控制短信內(nèi)容。但更深層次去追究,實(shí)際上是開發(fā)人員追求性能和效率,把重要的操作分發(fā)給客戶端去做,而忽視其中安全問題導(dǎo)致的,這也是開發(fā)人員考慮問題重心偏移和安全從業(yè)者不同的體現(xiàn)。類似,為追求性能而導(dǎo)致有意思的漏洞:sohu郵箱任意用戶密碼重置。
漏洞危害:該類漏洞一般被用戶釣魚欺詐,直接受害者為最終用戶,也使得企業(yè)方遭受名譽(yù)損失。
漏洞修補(bǔ):短信發(fā)送文字內(nèi)容應(yīng)由服務(wù)器來定義,客戶端應(yīng)觸碰不到??梢灾贫殒I-值對,客戶端只能選擇鍵,然后在服務(wù)端匹配到鍵相應(yīng)的值,再把值內(nèi)容發(fā)送給用戶手機(jī)。
三、手機(jī)驗(yàn)證過程中pin碼可爆破
這類問題常出現(xiàn)在“密碼找回”、“綁定手機(jī)”等功能處。正常工作流程一般為在頁面提交手機(jī)號,然后短信平臺會發(fā)送一個pin碼給手機(jī),再將pin碼提交回給服務(wù)器,完成身份認(rèn)證或綁定。
相關(guān)漏洞:微信任意用戶密碼修改漏洞
該漏洞在爆破pin碼階段相當(dāng)精彩,先贊一個。
only_guest大牛說了:
因此,這類漏洞成因:
1、pin碼太弱,短位的純數(shù)字組合,極易爆破;
2、高頻由同一源發(fā)類似請求包,這么像CC攻擊了,服務(wù)器總該做點(diǎn)反應(yīng)吧。
漏洞危害:需根據(jù)實(shí)際功能來定,大則如漏洞標(biāo)題,任意用戶密碼修改。且即便看似難以利用,在大牛手上將會用神奇的構(gòu)思,來證明漏洞的危害。近期,pysolve大牛就在做這樣的事情。
漏洞修復(fù):使用長度和復(fù)雜性足夠強(qiáng)壯的Pin碼,防止被爆破。
四、短信平臺自身的問題
先不論短信平臺的應(yīng)用層面的漏洞,我在測試過程中遇到的問題是:弱口令!直接登陸到短信平臺。
漏洞成因:維護(hù)人員的安全意識問題。
該短信平臺只能通過IP訪問,未綁定URL。我知曉其存在是由于客戶提供了資產(chǎn)列表。站在客戶的視角,外部用戶難以發(fā)現(xiàn)短信平臺入口,因此并不重視其安全性。但后續(xù)我發(fā)現(xiàn)通過Google hack也是能找到這個短信平臺的。且有數(shù)字瀏覽器如此強(qiáng)大的存在,怎么可能產(chǎn)生互聯(lián)網(wǎng)孤島呢?
另外短信平臺一般是由第三方提供,企業(yè)做為使用者難以保證其安全性,因此也可能存在常規(guī)WEB應(yīng)用漏洞。
漏洞危害:短信平臺的操作權(quán)限一旦被惡意攻擊者獲取,上述提及的幾類漏洞危害都有可能導(dǎo)致。
漏洞修復(fù):站在企業(yè)的角度,對于這樣一個第三方系統(tǒng),進(jìn)行代碼審計(jì)、滲透測試,成本投入都略顯過大,因此對于短信平臺,建議使用最直接、最暴力也是我認(rèn)為最合適的方案——制定合適的ACL,限定僅內(nèi)網(wǎng)特定用戶訪問,如確實(shí)有外網(wǎng)用戶需要使用系統(tǒng),也需采用VPN接入。
總結(jié):
以上四類問題是我遇到和見到的,但是,由于我能力和視野有限,考慮得肯定是不夠全面的,也請有經(jīng)驗(yàn)的大牛給予指點(diǎn)。