如何防止簡訊介面被刷?

2021-10-08 20:06:35 字數 1860 閱讀 2610

簡訊驗證碼作為重要的身份驗證工具,因其操作簡便、安全性高、時效性強等優點已被開發人員廣泛使用。但因其獲取便利、限制較少容易被不法分子利用進行簡訊轟炸,惡意刷掉大量簡訊費用,給公司或個人造成大量的金錢損失,造成這種情況原因主要是在產品實際設計過程中,有些產品人員因為對技術實現不太了解,防範意識薄弱,簡單或直接忽略對簡訊驗證碼進行限制,這才造成簡訊介面惡意被不法分子利用。

在介紹防刷策略前我們需要了解下常見的刷簡訊驗證的行為。

1.以攻擊手機號為目的刷簡訊驗證碼

這類攻擊目標主要是攻擊者借助web**簡訊介面對目標手機號進行簡訊轟炸。攻擊者會先收集網際網路上多個未經防護的**簡訊介面,設定要攻擊的手機號碼通過模擬使用者,迴圈向後台傳送簡訊驗證碼請求,達到攻擊手機號的目的。對於這類攻擊通過一般驗證碼設定即可達到防護目的。

2.以惡意刷取目標**簡訊費用為目的的攻擊

這類攻擊主要目的是刷掉目標**的簡訊費用,在第一種基礎上攻擊者會不停變換各種介面引數如手機號、ip(採用高匿**)等去請求後台傳送簡訊驗證碼,進行惡意刷簡訊,後台根本無力辨別使用者真偽。攻擊目標明確,難以防護,因其變換不同ip、手機號,一些簡單措施基本失效,產品設計人員在前期產品設計時尤其需要注意這類攻擊。

下面是針對攻擊者做出的一些應對措施。

1.前端增加**驗證碼

在獲取簡訊驗證碼前增加**驗證碼是較為常用的方法。攻擊者一般是採用自動化攻擊,增加**驗證碼後,攻擊者要對驗證進行識別驗證成功後才能進行模擬使用者傳送請求,這一步需要在頁面中進行,無法採用自動化攻擊。第一種攻擊基本上失效,同時會增加第二種的攻擊成本(有可能採用人工打碼方式進行驗證)選擇驗證碼時既要考慮使用者操作過程的流暢度,又應該考慮到安全度。

下圖是幾種常見的**驗證碼,可以結合自身平台特點進行選擇,

2.限制單個手機號每日接收簡訊次數和時間間隔

對單個手機號進行日接收次數的限制,可以防止單個手機號無限制刷簡訊,同時設定時間間隔可以有效,防止人工刷票。簡訊接收次數可以根據平台特點進行限制,一般日接受驗證碼次數為10次左右;同一號碼傳送時間間隔通常為60秒,前後台應保持一致,避免出現只前端做倒計時限制,後台未做限制這種低階錯誤。

3.對ip進行限制

對單ip最大傳送量進行限制,可以有效防止單一ip下多手機號被刷的問題。最大傳送量限制是防止惡意攻擊者同ip下不同手機號進行刷簡訊驗證碼行為。根據平台實際情況設計乙個簡訊最大傳送量的閥值,超過閥值將不予返回簡訊。

4.對手機號碼邏輯檢測

檢測輸入手機號碼的有效性,遮蔽無效和非法的手機號碼。

5.對註冊流程進行限定

一般來講常被攻擊的地方是註冊頁面,一般是從兩方面進行觸發流程的限定。

因為增加前置條件,增加攻擊難度兩種方法都是能有效防止自動化攻擊,需要注意的是兩種方法對使用者體驗或多或少的影響,產品經理需要結合自身平台特點擊擇。

6.對傳送者進行唯一性識別

為了防止第二種惡意攻擊者通過修改傳向伺服器各項引數,造成多ip多手機號刷簡訊驗證碼的行為,所以後台應對前台傳過來的引數進行驗證。方法一般是用token作為唯一性識別驗證,後台寫乙個演算法將token注入到前端,然後前端可以通過相應的規則獲取到token,在傳送簡訊驗證請求介面資料時帶上token,在後端對token進行驗證,驗證通過才能正常將簡訊傳送。

7.設定傳送超量提醒

設定時間內容簡訊傳送量達到設定的閾值時,系統將會傳送告警通知,收到通知及時採取措施。

在產品設計過程中一般採用前四種方式組合使用,基本可以防止大部分惡意刷簡訊驗證碼的行為。產品人員要在防護與使用者體驗之間尋找平衡,結合自身產品特點擊擇,要未雨綢繆不應到簡訊被刷才進行防護。

如何防範簡訊介面被惡意呼叫(被刷)

鑑於之前遇到過簡訊介面被刷的問題,解決的不是很好。現發現一篇如此高質量部落格,特此收藏分享 簡訊轟炸一般基於 web 方式 基於客戶端方式的原理與之類似 由兩個模組組成,包括 乙個前端 web 網頁,提供輸入被攻擊者手機號碼的表單 乙個後台攻擊頁面 如 php 利用從各個 上找到的動態簡訊 url ...

防止簡訊驗證碼被刷

1 圖形驗證碼限制 圖形驗證通過後再請求介面 圖形驗證碼限制是最常用的一種方式,使用者輸入圖形驗證碼並通過之後,再請求簡訊介面獲取驗證碼。2 時間限制 60秒後才能再次傳送 這種措施使用得比較普遍,從傳送驗證碼開始,前端 客戶端 會進行乙個60秒的倒數,在這一分鐘之內,使用者是無法提交多次傳送資訊的...

如何防止簡訊驗證被盜刷

在php聊天群裡,有位同學說 他們的5000塊錢的簡訊,兩天被刷完了!問群裡大佬怎麼辦!就一般的防止簡訊驗證盜刷而言 通過修改手機號修改驗證碼 我們通常的防止簡訊被濫發,就是 1 限制每個手機號的傳送次數 類似 檢查傳送次數 key mobilereg sms send times mobile d...