邏輯漏洞之密碼找回總結


邏輯漏洞之密碼找回總結

0x00 腦圖

0x01 用戶憑證暴力破解

  1. 驗證碼的位數:4 or 6,有效時間:1min - 15min
  2. 驗證碼爆破防護繞過
  3. 純數字字典生成腳本
import itertools 
words = "0123456789"
r = itertools.product(words, repeat=n)
dic = open("", "a")
for i in r:
	dic.write("".join(i))
	dic.write("".join("\n"))
dic.close()

0x02 返回憑證

  1. url返回驗證碼及token
  2. 密碼找回憑證在頁面中
  3. 返回短信驗證碼

某app挖洞記錄:發送Request,驗證碼回顯在Response

0x03 郵箱弱token

  1. 時間戳的md5
  2. 用戶名
  3. 服務器時間

0x04 用戶憑證有效性

  1. 短信驗證碼
    獲取驗證碼,嘗試修改手機號;修改返回包中的手機號為自己的手機號,嘗試獲取驗證碼
  2. 郵箱token
  3. 重置密碼token

0x05 重新綁定

  1. 手機綁定
  2. 郵箱綁定

0x06 服務器驗證

  1. 最終提交步驟
  2. 服務器驗證可控內容
  3. 服務器驗證邏輯是否為空

某app挖洞記錄:未校驗驗證碼,憑據,用戶號碼的一致性,導致任意用戶密碼重置

0x07 用戶身份驗證

  1. 賬號與手機號的綁定
  2. 賬號與郵箱賬號的綁定

0x08 找回步驟

某網站挖洞記錄:找回密碼到了第二步,直接修改mobile參數,可跳過第一步短信驗證步驟

0x09 本地驗證

  1. 在本地驗證服務器的返回信息,確定是否執行重置密碼,但是其返回信息是可控的內容,或者可以得到的內容
  2. 發送短信等驗證信息的動作在本地進行,可以通過修改返回包進行控制
  • Intercept Server Responses添加規則如下:

0x10 注入

0x11 token生成可控

觀察重置密碼步驟數據包中字符串,是否和驗證身份步驟中的字符串相同。相同-->嘗試繞過驗證步驟,不同-->嘗試token可控。

0x12 注冊覆蓋

注冊重復的用戶名

0x13 session覆蓋

找回密碼到了郵箱驗證這一步驟,打開郵箱,不要在郵箱點擊重置密碼的鏈接,復制鏈接在同一瀏覽器打開


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM