5、DVWA、Vulnerability: Insecure CAPTCHA

5、Vulnerability: Insecure CAPTCHA
在這裏插入圖片描述以上代碼的作用爲判斷新的代碼和驗證的代碼是否相同,相同則更改成功,否則報錯。
具體函數可參考暴力破解:
主要用處之一有:mysqli_real_escape_string()會將轉義特殊字符,一定程度上防止SQL注入。
在這裏插入圖片描述
Low
這裏我們還是直接來看代碼
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20190925174608270.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NTk4Mzk3,size_16,color_FFFFFF,t_70在這裏插入圖片描述在這裏插入圖片描述
1、服務器通過調用recaptcha_check_answer函數檢查用戶輸入的正確性。
recaptcha_check_answer(privkey,privkey,remoteip, challenge,challenge,response)
參數privkeyprivatekeyprivkey是服務器申請的private key,remoteip是用戶的ip,challengerecaptchachallengefieldchallenge是recaptcha_challenge_field字段的值,來自前端頁面 ,response是recaptcha_response_field字段的值。函數返回ReCaptchaResponse class的實例,ReCaptchaResponse類有2個屬性 :
$is_valid是布爾型的,表示校驗是否有效,
$error是返回的錯誤代碼。
2、它主要有兩個if函數,將整體分成了兩部分,大概就是第一部分檢查驗證碼返回表單,第二部分接受用戶的表單再來進行修改
這裏很明顯我們直接跳過一個if判斷就能繞過驗證碼了在這裏插入圖片描述
此處可以看見step=1;故把其改爲2(要留意要把&password_new=123&password_conf=123;改爲相同)在這裏插入圖片描述
Medium
服務器端核心代碼:
在這裏插入圖片描述
可以看到,Medium級別的代碼在第二步驗證時,參加了對參數passed_captcha的檢查,如果參數值爲true,則認爲用戶已經通過了驗證碼檢查,然而用戶依然可以通過僞造參數繞過驗證,本質上來說,這與Low級別的驗證沒有任何區別。
漏洞利用
1.可以通過抓包,更改step參數,增加passed_captcha參數,繞過驗證碼。
抓到的包:在這裏插入圖片描述
step=2&password_new=123&password_conf=123&Change=Change&passed_captcha=ture

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章