前言,本文僅為個人經驗總結,介紹的並非所有方法,只是一些最常見的方法。如有錯誤,煩請指出。
0x00 簡介
0x01 任意用戶密碼重置正文
首先,我們來看看任意用戶密碼重置。
方法一:密碼找回的憑證太弱,為4位或6位純數字,並且時效過長,導致可爆破從而重置用戶密碼。
這裡我們來看一個實例,目前廠商已經修復。
驗證碼為4位純數字,我們使用burpsuite爆破。
可以看到成功爆破出了。4位數字0~9有9999種可能,我們線程設置10,五分鐘之內就可以爆破出憑證。
方法二:驗證碼傳輸在數據包中。
這裡共有兩種可能,一種在返回包,一種在獲取驗證碼的數據包中。我們來看兩個實例。
第一個:驗證碼在返回包中
在輸入好手機號點擊下一步時,我們抓包,截取返回包。
第二個:驗證碼在獲取驗證碼的數據包中。
Checkcode後面的六位數字就為驗證碼了,這種情況我只見過一次。
方法三:輸入好憑證後,重置密碼時替換手機號。
看個實例:
這款APP重置密碼分為兩步,第一步是輸入手機號獲取驗證碼並填入,正確後即跳轉到下一步,然後就是輸入新密碼。我們在輸入新密碼後抓包,替換手機號放包即可重置。
方法四:修改返回包內容,把錯誤的改為正確的。
具體來看一個實例:
我在輸入好手機號獲取驗證碼後,隨便輸入一個數字。然後抓包
截取返回包 修改1為0。
方法五:獲取驗證碼時手機號為明文,修改為自己的從而達到欺騙驗證。
改為自己的,即可收到驗證碼。
總結
找回密碼憑證夠複雜並且不可猜測,同時注意以上邏輯問題,不可存在越權,或者重要的憑證在不該出現的地方出現。
閱讀更多 攸一教程網 的文章