邏輯漏洞(1)
阿新 • • 發佈:2018-06-13
修復 使用 跳過 cnblogs .net 聯系 title 問題 spl
邏輯漏洞
邏輯漏洞是一種業務邏輯上的設計缺陷,業務流存在問題。
這裏說一下密碼找回漏洞、多線程條件競爭漏洞和支付漏洞。
密碼找回漏洞
1、 測試流程
先嘗試正確的密碼找回流程,記錄不同找回方式的所有數據包
分析數據包,找到有效數據部分
推測數據構造方法
構造數據包驗證猜測
2、 分類
* 郵箱找回
一般是點擊郵件中的鏈接後會轉跳到修密碼的頁面,這就需要分析鏈接的token構造了,
可以考慮是時間戳md5、用戶名或郵箱和隨機字符串md5等,一般是類似如下鏈接:
http://domain/findpwd.php?u=xiaoming&token=MTIzQHFxLmNvbQ==
http://domain/findpwd.php?id=374&token=2ad64bf14c714dbce88c7993663da7da
當構造相應鏈接時就可以重置任意用戶的密碼
* 手機短信找回
短信找回一般就是4位或6位驗證碼,暴力猜測吧
* 找回邏輯錯誤
若惡意用戶A用15123333333找回密碼,此時收到驗證碼但不使用
此時惡意用戶A再用受害者B的手機號找回密碼
用戶A在B的驗證表單填入自己收到的驗證碼,發送
此時跳轉的修改密碼頁面修改的就是用戶B的密碼
* 直接修改密碼
在修改密碼時跳過選擇找回方式,直接訪問修改密碼的頁面進行修改
* 本地驗證
隨意輸入一個驗證碼,開Burp抓包,forward,抓返回包,返回包裏可能有一個flag字段,
若flag的值為1則跳轉到修改密碼頁面,所以只要修改返回包即可
* 服務端將驗證碼返回給瀏覽器
在點擊獲取驗證碼時,服務器會將驗證碼發送給瀏覽器,抓包即可
* 驗證碼直接出現在url中
當點擊獲取驗證碼時發出的請求鏈接中直接有code
* 密保問題找回
回答密保問題,有時一些答案就在html源碼裏
支付漏洞
攻擊者通過修改交易金額、交易數量等從而利用漏洞,
如Burp修改交易金額、使交易數量為負數或無限大等。
* 在支付時直接修改數據包中的支付金額,實現小金額購買大金額商品
* 修改購買數量,使之為負數,可購買負數量商品,從而扣除負積分,即增加積分,
或使購買數量無限大,無限大時則程序可能處理出錯,從而實現0金額支付
* 請求重放,在購買成功後重放請求,可實現"一次購買對此收貨"
漏洞修復
- 對於密碼重置漏洞,可以使用復雜的token,使之不可被預測
- 對於密碼重置漏洞,校驗refer,不使用本地校驗等
- 對於支付漏洞,主要就是簽名了,或者https
值得一看的案例:
https://blog.csdn.net/hydrakingbo/article/details/52388183
https://www.cnblogs.com/xishaonian/p/6416659.html
http://www.freebuf.com/vuls/151196.html
介紹:僅供技術交流學習探討,請勿用於非法用途,。本文部分資源來源於網絡,如有侵權請聯系版主刪除。
邏輯漏洞(1)