短信轟炸之橫向轟炸和縱向轟炸


白帽子您好,橫向轟炸不收,故此忽略,感謝提交。如有更多疑問可咨詢平台客服小姐姐(QQ:3459476393),非常感謝對漏洞盒子與互聯網安全的支持,對此給您帶來的不便我們深感抱歉。

 

收到上面一條信息,

才知道短信轟炸也分橫向轟炸和縱向轟炸。

從字面上猜猜,大概如下意思。

就我遇到的,目前可被橫向轟炸的短信接口還是很多的,尤其是在web頁面中,不對發短信接口做一些必要的限制,

導致存在被無限調用和濫用的情況。

由於手機號格式還算比較固定,以1打頭,中文11位等,可用代碼、存儲過程瞬時批量生成100w條手機號

現有的工具比如Jmeter,將生成的手機號通過csv配置文件導入,然后通過http請求發送。還可以開始一定的線程數,分分鍾給100w個手機號發短信。

假設一條短信1分錢,那分分鍾1w元就被人發短信發掉了,還都是垃圾短信,影響收到的人群。算是也不小啊~~【好吧只能說我窮,1w元我覺得很多啊,我能買好多好多吃的,穿的,玩的~~~】

 

縱向轟炸,我也遇到過,現在一些新的api直接調運營商接口,由運營商返回,這種反而較少;倒是web頁面中的,尤其老的web系統,代碼頁面摻雜在一起,通過一些.ation,validateRegisterOTP.do方法發SMS的比較多。

無意看到網上有很多短信轟炸機的案例,某人為了整蠱別人,在頁面上填寫別人的手機號,導致別人不停地收到短信,而且收短信的短信發送號碼不固定,想拉黑名單都不可以。關機又怕錯過重要電話。何必啊~~

看了短信轟炸機的原理,有的人調用縱向轟炸接口,有的是橫向接口,集成了網絡上許多的發短信的接口~~

作為測試,只能說,發短信接口只有目的的,為了驗證你的手機號碼正確且真實存在,不能只滿足這樣的功能,還要防機器人,加上一些限制,不能將自己的發短信方法變成別別人利用的工具。

測試不能只測功能,要有想法。

 

 

短信驗證碼: 

發送SMS:既要保證給指定手機號發送短信;又要保證不能被任意調用,隨便發送短信;默認需要添加的限制: 同一手機號碼一天5次,手機號碼位數限制,手機號碼1打頭,(132,138,139,158,159,171,177,181,189,199)

橫向和縱向不能隨意調用

驗證SMS:短信驗證碼不能被偽基站截取;短信驗證碼驗證次數做限制,不能無限次驗證。做項目偽基站的事你保證不了,短信驗證的次數,比如下面的,短信運營商可以做,是否自己也需要做?

而且早期的項目,運營商是沒有這個限制的。所以早期的項目,SMS被濫用的情況比較多。

 

總結一下短信驗證碼常見的漏洞:

1. 發送短信驗證碼的前提

  1. 在頁面上添加圖文驗證碼,只有正確通過圖文驗證碼后,方可給輸入的手機號發送短信

    這邊就要注意一個問題,圖文驗證碼一般緩存在session中,必然只能用一次,通過之后要清除,否則同一個圖文驗證碼既可以給A用,又可以給后面BCD等等人群使用

    如果不設置圖文驗證碼,比如現在很多的網站,會員注冊和登錄,都是直接通過手機號+短信驗證碼來操作,但是同一設備不會允許你發送很多次短信,比如第五次發送短信驗證碼的時候,彈出圖文驗證碼框框

 

2. 發送短信驗證碼

  短信驗證碼發出去了,不允許進行重復點擊發送,然而很多系統是在前端js實現的;在.action/validateRegisterOTP.do方法未做限制,繞過前端,便可無限發送短信了

  如果發送短信驗證碼前提有圖文驗證碼這樣的限制,重發短信驗證碼,是需要再次填寫正確的圖文驗證碼的

  如果沒有圖文驗證碼的前提,發送短信驗證碼的方法,需要添加判斷,是否一分鍾以內只能發送一條短信【這塊短信運營商也可以操作,之前要說明】

 

 

 

3. 短信驗證碼的驗證

  1. 短信驗證碼發出去了,但是操作的時候,未與業務功能關聯,解釋輸入錯誤的驗證碼也能正常操作;這種驗證碼形同虛設。

  2. 短信驗證碼發出去了,chrome 瀏覽器發開F12, 可以看到返回信息,返回信息中含有了發出去的明文驗證碼; 這種驗證碼對開發和it打交道的人來講,貽笑大方。

  3.短信驗證碼發出去了,短信驗證碼存在session中,原來是手機號11111111111的人發出去的驗證碼,手機號重新填寫成22222222222,驗證碼輸入收到的驗證碼,發現2222用戶注冊成功。這種驗證碼也。。。。

  4. 短信驗證碼發出去了,短信驗證碼和手機號進行綁定了,這時候一般是將驗證碼存DB了

      1. 驗證的時候,如果用戶第一次輸入的驗證碼無效,是否可以立即輸入新的短信驗證碼,短信驗證碼是否必須重新獲取

      2 短信驗證碼發出去了,用戶收到短信“1分鍾內有效”,“30分鍾內有效”,系統是否真的做了時效的限制

      3. 用戶給自己發送了多條短信驗證碼,是否每次都到的短信驗證碼一模一樣

      4. 用戶給自己發送了多條短信驗證碼,每次不一樣,驗證的時候,是否必須用最新的一條

      5. 用戶驗證短信驗證碼,是否有次數的要求,短信驗證碼也是很固定的,一般是4位數字,或者6位數字,若不做次數的限制,用工具總是可以很快地可以試出正確的那個驗證碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM