淺談APP漏洞挖掘之邏輯漏洞

前言,本文僅為個人經驗總結,介紹的並非所有方法,只是一些最常見的方法。如有錯誤,煩請指出。

0x00 簡介

0x01 任意用戶密碼重置正文

首先,我們來看看任意用戶密碼重置。

方法一:密碼找回的憑證太弱,為4位或6位純數字,並且時效過長,導致可爆破從而重置用戶密碼。

這裡我們來看一個實例,目前廠商已經修復。

淺談APP漏洞挖掘之邏輯漏洞

驗證碼為4位純數字,我們使用burpsuite爆破。

淺談APP漏洞挖掘之邏輯漏洞

可以看到成功爆破出了。4位數字0~9有9999種可能,我們線程設置10,五分鐘之內就可以爆破出憑證。

方法二:驗證碼傳輸在數據包中。

這裡共有兩種可能,一種在返回包,一種在獲取驗證碼的數據包中。我們來看兩個實例。

第一個:驗證碼在返回包中

在輸入好手機號點擊下一步時,我們抓包,截取返回包。

淺談APP漏洞挖掘之邏輯漏洞

淺談APP漏洞挖掘之邏輯漏洞

淺談APP漏洞挖掘之邏輯漏洞

第二個:驗證碼在獲取驗證碼的數據包中。

淺談APP漏洞挖掘之邏輯漏洞

Checkcode後面的六位數字就為驗證碼了,這種情況我只見過一次。

方法三:輸入好憑證後,重置密碼時替換手機號。

看個實例:

這款APP重置密碼分為兩步,第一步是輸入手機號獲取驗證碼並填入,正確後即跳轉到下一步,然後就是輸入新密碼。我們在輸入新密碼後抓包,替換手機號放包即可重置。

淺談APP漏洞挖掘之邏輯漏洞

方法四:修改返回包內容,把錯誤的改為正確的。

具體來看一個實例:

我在輸入好手機號獲取驗證碼後,隨便輸入一個數字。然後抓包

淺談APP漏洞挖掘之邏輯漏洞

截取返回包 修改1為0。

淺談APP漏洞挖掘之邏輯漏洞

方法五:獲取驗證碼時手機號為明文,修改為自己的從而達到欺騙驗證。

淺談APP漏洞挖掘之邏輯漏洞

改為自己的,即可收到驗證碼。

淺談APP漏洞挖掘之邏輯漏洞

總結

找回密碼憑證夠複雜並且不可猜測,同時注意以上邏輯問題,不可存在越權,或者重要的憑證在不該出現的地方出現。


分享到:


相關文章: