任意使用者密碼重置的幾種常見姿勢

2022-08-23 00:18:12 字數 835 閱讀 3895

可通過篡改使用者名稱或id、暴力破解驗證碼等方式修改/重置任意賬戶的密碼。

密碼修改的步驟一般是先校驗使用者原始密碼是否正確,再讓使用者輸入新密碼。修改密碼機制繞過方式大概有以下三種:

1. 如果輸入新密碼的介面可以直接訪問,那麼在未知原始密碼的的情況下即可直接修改密碼,通常知道了他人的使用者名稱即可任意修改他人的密碼。

2. 如果系統未校驗修改密碼的使用者身份,那麼在提交修改密碼請求時,攻擊者通過輸入密碼,將使用者名稱或者使用者id修改為其他人的,即可成功修改他人的密碼。

3. 當修改密碼時系統需要電子郵件或者手機簡訊確認,而應用程式未校驗使用者輸入的郵箱和手機號,那麼攻擊者通過填寫自己的郵箱或手機號接收修改密碼的鏈結和驗證碼,以此修改他人的密碼。

密碼重置機制繞過攻擊方式主要有以下兩種:

1. 通過正常手段獲取重置密碼的鏈結,猜解鏈結的組成結構和內容(如使用者名稱或者時間戳的md5值)。在得知他人郵箱的情況下,構造重置他人密碼的鏈結。

2. 在得知他人手機號的情況下,通過窮舉手機驗證碼重置他人的密碼。

【高危】:其它使用者的密碼被修改/重置成功

1. 一次性填寫校驗資訊(原始密碼、新密碼等)後再提交修改密碼請求。

2. 對客戶端提交的修改密碼請求,應對請求的使用者身份與當前登入的使用者身份進行校驗,判斷是否有權修改使用者的密碼並對原始密碼是否正確也進行判斷。

3. 不應將用於接收驗證資訊的手機、郵箱等資訊全部明文傳到客戶端,應對手機、郵箱等資訊進行遮蔽處理,或不將此類資訊返回到客戶端。

4. 對原始密碼進行了驗證的情況下,限制輸入原始密碼的錯誤次數,防止攻擊者暴力破解原始密碼。

5. 重置密碼鏈結中的關鍵資訊應隨機化,不可**(例如token機制),且禁止將關鍵資訊返回到客戶端。

任意使用者密碼重置的十種常見姿勢 學習筆記

1.驗證碼不失效 漏洞原因 驗證碼未設定時效限制,僅判斷驗證碼是否正確,未判斷驗證碼是否已失效。漏洞測試 列舉爆破,找到正確驗證碼。2.驗證碼直接返回 漏洞原因 客戶端生成驗證碼,伺服器響應包返回了正確的驗證碼與客戶端驗證碼進行比對。漏洞測試 本機走流程,攔截響應包返回的驗證碼,拿到正確驗證碼進行重...

任意使用者密碼修改重置漏洞修復

密碼修改功能常採用分步驟方式來實現,攻擊者在未知原始密碼的情況下繞過某些檢驗步驟修改使用者密碼。重置密碼過程一般是首先驗證註冊的郵箱或者手機號,獲取重置密碼的鏈結 一般會包含一串唯一的字串 或者驗證碼,然後訪問重置密碼鏈結或者輸入驗證碼,最後輸入新密碼。密碼重置機制繞過攻擊是指在未知他人的重置密碼鏈...

3322網域名稱重置任意使用者密碼的漏洞

3322網域名稱找回密碼時可以重置任意使用者的密碼。找回密碼功能傳送到email中的驗證碼和cookie中的乙個值繫結,未和需要找回的使用者名稱繫結,導致可用a郵箱中的驗證碼,驗證找回任意使用者。找回密碼時看了下,出現如圖這麼乙個token,直覺告訴我,這個發過去的驗證碼和cookie繫結了 於是,...