Insecure CAPTCHA
Insecure CAPTCHA,意思是不安全的驗證碼,CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自動區分計算機和人類的圖靈測試)的簡稱,因為這塊主要是驗證流程出現了邏輯漏洞。
Low
1.通過構造參數繞過驗證過程的第一步
首先輸入密碼,點擊Change按鈕,抓包:
更改step參數繞過驗證碼
執行,密碼修改成功;
Medium
查看服務器端核心代碼可知,Medium級別的代碼在第二步驗證時,參加了對參數passed_captcha的檢查,如果參數值為true,則認為用戶已經通過了驗證碼檢查,然而用戶依然可以通過偽造參數繞過驗證,本質上來說,這與Low級別的驗證沒有任何區別。
可以通過抓包,更改step參數,增加passed_captcha參數(passed_captcha=true),繞過驗證碼
執行,密碼修改成功;
High
查看服務器端核心代碼;
可以看到,服務器的驗證邏輯是當$resp(這里是指谷歌返回的驗證結果)是false,並且參數recaptcha_response_field不等於hidd3n_valu3(或者http包頭的User-Agent參數不等於reCAPTCHA)時,就認為驗證碼輸入錯誤,反之則認為已經通過了驗證碼的檢查。
抓包;
更改參數recaptcha_response_field以及http包頭的User-Agent:
執行,密碼更改成功