白帽子您好,橫向轟炸不收,故此忽略,感謝提交。若有更多疑問可諮詢平臺客服小姐姐(QQ:3459476393),很是感謝對漏洞盒子與互聯網安全的支持,對此給您帶來的不便咱們深感抱歉。前端
收到上面一條信息,web
才知道短信轟炸也分橫向轟炸和縱向轟炸。chrome
從字面上猜猜,大概以下意思。
api
就我遇到的,目前可被橫向轟炸的短信接口仍是不少的,尤爲是在web頁面中,不對發短信接口作一些必要的限制,瀏覽器
致使存在被無限調用和濫用的狀況。緩存
因爲手機號格式還算比較固定,以1打頭,中文11位等,可用代碼、存儲過程瞬時批量生成100w條手機號安全
現有的工具好比Jmeter,將生成的手機號經過csv配置文件導入,而後經過http請求發送。還能夠開始必定的線程數,分分鐘給100w個手機號發短信。網絡
假設一條短信1分錢,那分分鐘1w元就被人發短信發掉了,還都是垃圾短信,影響收到的人羣。算是也不小啊~~【好吧只能說我窮,1w元我以爲不少啊,我能買好多好多吃的,穿的,玩的~~~】session
縱向轟炸,我也遇到過,如今一些新的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位數字,若不作次數的限制,用工具老是能夠很快地能夠試出正確的那個驗證碼