任意用戶密碼重置的10種姿式

之前安全測試最愛挖的就是任意用戶密碼重置,今天看了carry_your師傅在ichunqiu上的視頻文字總結一下任意用戶密碼重置的10種姿式:html

1,短信驗證碼可爆破;

視頻案例中輸入手機號碼、圖片驗證碼就能夠獲取短信驗證碼,而且新密碼也是在一個頁面中,可是輸入短信驗證碼以後,後端有個請求會判斷短信驗證碼是否正確,錯誤的話頁面會有提醒。攻擊者能夠用這個請求來爆破驗證碼,獲取到正確的短信驗證碼以後就能夠重置任意用戶密碼了。前端

缺陷主要是兩個方面,第一,未對短信驗證碼的失效時間進行限制;第二,功能設計存在缺陷,若是設計成整個功能只用最後一個請求,包含註冊手機號碼、圖片驗證碼、短信 驗證碼、新密碼,對這個請求中手機號碼、短信驗證碼的匹配以及短信驗證碼的正確性進行驗證,攻擊者就沒辦法進行爆破。固然前提是有正確運用圖片驗證碼。後端

2,短信驗證碼顯示在獲取驗證碼請求的回顯中;

攻擊者知道被攻擊用戶的手機號碼,獲取短信驗證碼,抓包就能夠在回顯中看到用戶收到的重置用的短信驗證碼。安全

3,註冊手機號及短信驗證碼未進行匹配性驗證;

攻擊者用本身手機號碼收到的重置用短信驗證碼能夠重置其它用戶的密碼。cookie

4,用戶名、手機號碼、短信驗證碼三者沒有進行匹配性驗證;

只驗證碼了手機號碼、短信驗證碼是否匹配,最終重置密碼是根據用戶名來重置的。攻擊者重置用戶a的密碼,獲取短信驗證碼的時候將手機號碼修改爲本身帳號對應的,獲取到對應的正確短信驗證碼,而後輸入短信驗證碼,因爲只驗證了手機號碼以及短息驗證碼是否匹配,從而能夠成功繞太短信驗證碼限制來重置用戶a的密碼。session

5,短信驗證碼的驗證在本地客戶端進行驗證;

經過修改請求回顯來繞過,常見重置姿式之一,也能夠用於繞過一些其它的前端驗證,好比存儲xss,參數的合法性驗證若是經過前端來完成,也是能夠用這種姿式繞過的。xss

6,重置步驟未進行校驗;

這種通常發生在多個步驟重置的過程當中,未對步驟1,2進行校驗,經過修改url直接繞太短信驗證碼的校驗步驟,直接進入重置頁面進行重置。測試

7,重置請求未驗證身份;

跟方法4差很少,最終重置請求沒有驗證用戶身份信息。攻擊者用本身的手機號碼短信驗證碼走重置流程,最後一步重置請求抓包修改身份信息爲其它用戶的,從而進行其它用戶密碼的重置。url

8,登錄成功修改密碼功能平行越權;

用戶登錄成功以後可修改本身的密碼,修改請求只須要輸入新密碼,請求中未驗證當前用戶的cookie、session、id等身份信息,能夠經過修改id等來重置其它用戶的密碼。設計

9,未校驗身份信息的惟一標識cookie信息;

重置請求參數中沒有用戶名、手機號碼、id等身份標識,惟一的身份標識是在cookie中。攻擊者用本身的帳號進行重置,最後重置請求中替換掉請求中的cookie進行其它用戶密碼的重置。

10,MVC數據對象自動綁定漏洞;

郵箱重置密碼或者手機號碼重置密碼的時候,請求中沒有明顯的身份標識,能夠嘗試增長參數值來測試是否存在MVC數據對應自動綁定漏洞。好比增長email參數及對應的自用郵箱做爲參數值,看看是否能收到密碼重置連接。有關這個漏洞能夠看看carry_your師傅視頻中的案例,以及CF_HB發過的案例,也能夠看看CplusHua有關模糊測試的ppt。

 

carry_your課程連接:

https://www.ichunqiu.com/course/59045

(圖文版)任意用戶密碼重置的10種常見姿式:

https://www.lovesec.com/penetration-test/233.html

相關文章
相關標籤/搜索