官术网_书友最值得收藏!

2.8.2 案例分析

1.數值精度測試

筆者對某交易所進行測試時發現,其默認小數點精度為小數點后3位小數,多于3位時會四舍五入,比如0.999 9,系統會默認為1,此精度問題可能會導致被攻擊者薅羊毛。

攻擊者可以注冊兩個賬號,一個掛單(無須認證即可掛單),一個出售,配合無限薅羊毛。雖然單次獲取的收益很小,但是無限制的話,造成的損失還是不小的,攻擊者可以套取系統中心賬號代幣,并出售代幣套現。

如圖2.45所示,批量下單0.999 9個代幣,當15分鐘后,系統默認取消交易,然后錢包中心將返回1個代幣給賣家,獲取額外代幣。

圖 2.45

建議嚴格按照3位小數精度進行算術運算,并對下單頻率以及數量進行限制。

2.接口頻率限制測試

(1)郵箱驗證接口

在進行身份甄別時,郵箱驗證碼因免費而被廣泛使用。但是在開發過程中如果沒有正確地限制接口頻率,驗證碼就可能被用來進行電子郵箱炸彈攻擊。電子郵件炸彈是最古老的匿名攻擊之一,通過設置一臺機器不斷地大量向同一地址發送電子郵件,攻擊者能夠耗盡接收者的網絡資源,如圖2.46所示。

圖 2.46

(2)短信驗證接口

與上述郵箱驗證相同,短信驗證方式因方便快捷以及安全性較高也被廣泛用于身份驗證中(見圖2.47)。與郵箱驗證不同的是,短信驗證碼的條數是需要按照數量付費的。如果未進行合理頻率限制,則會導致:

·持續給手機號發送垃圾短信,造成極差的用戶體驗。

·對于公司來說,發送短信一般需要第三方運營商,每條短信需要支付費用,如果一天被刷幾十萬條,會造成上萬元的虧損。

圖 2.47

3.批量刷單

我們團隊在對某交易所進行安全測試時發現,可不停購買數量為負數的代幣,然后確認付款,在商家后臺無法進行確認收款,可以批量生產垃圾訂單,而且會導致短信炸彈。請求如圖2.48所示。

圖 2.48

此漏洞是因接受非法參數以及未做頻率限制而造成的,不僅影響到業務流程的正常運轉,而且耗費了大量的短信資源。這種操作單次進行時看起來危害較小,所以經常會被忽略,但如果被無限制地利用,造成的損失將非常巨大。

主站蜘蛛池模板: 浠水县| 莱阳市| 宁安市| 雅安市| 铁岭市| 石台县| 连云港市| 武隆县| 理塘县| 江门市| 万载县| 宁海县| 托克托县| 屏边| 紫云| 郁南县| 鞍山市| 青海省| 潜江市| 安溪县| 交口县| 永和县| 收藏| 保康县| 辽宁省| 鹰潭市| 韩城市| 定远县| 山东| 双辽市| 小金县| 延庆县| 湘潭县| 黄平县| 天津市| 苏尼特左旗| 天等县| 区。| 碌曲县| 泸西县| 革吉县|