DVWA通关攻略之不安全的验证码

文章详细介绍了DVWA中的InsecureCAPTCHA漏洞,展示了从低到高四个安全级别下如何绕过验证码验证修改用户密码。攻击者利用逻辑漏洞和篡改请求参数,甚至在高安全级别下通过修改User-Agent和特定响应字段来规避验证。
摘要由CSDN通过智能技术生成


1.Insecure CAPTCHA 不安全的验证码

CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的简称,是一种区分用户是计算机和人的公共全自动程序。使用CAPTCHA可以防止攻击者暴力破解密码、刷单等,保证用户是人类(无法快速反复发送请求)。攻击者绕过CAPTCHA验证后,可以使用恶意脚本操控计算机反复发送请求或者在异地实现绕过验证的CSRF攻击。
CAPTCHA漏洞利用的是验证码验证机制的逻辑漏洞,CAPTCHA验证流程如下图
在这里插入图片描述

2.实验演示

在DVWA页面左侧选择Insecure CAPTCHA。
目标是绕过验证机制修改当前用户的密码。

做这个实验需要在https://www.google.com/recaptcha注册key,注册时reCAPTCHA type选择v2 Invisible,Domains填自己的域名,本地实验就填127.0.0.1
在这里插入图片描述

以下是注册成功的。
$_DVWA[ ‘recaptcha_public_key’ ] = ‘6Lc5ix8mAAAAAKSkac5813ecMsE2MxHkg6TO-BC5’;
$_DVWA[ ‘recaptcha_private_key’ ] = ‘6Lc5ix8mAAAAADV8ktTSHSe3nBbOjWqz3AFdoXjo’;

修改config.inc.php文件相应内容为以上内容,然后重启服务。
使用http://127.0.0.1/DVWA/vulnerabilities/captcha/ 访问,显示如下图。
在这里插入图片描述

即可开始实验了。
若配置未成功会显示ERROR for site owner: Invalid key type。

2.1.low

DVWA Security设置为low
代码审计
在这里插入图片描述
在这里插入图片描述

看源码可以看到,开发人员将该密码修改操作分成了两步,第一步通过验证码验证是否机器人且验证两次密码输入是否一样,验证通过后,服务器返回表单,第二步,要求用户确认修改密码,客户端提交post请求,服务器完成更改密码的操作。但是,这其中存在明显的逻辑漏洞,服务器仅仅通过检查Change、step 参数来判断用户是否已经输入了正确的验证码。
启动burp抓包,修改密码为123,点击change
在这里插入图片描述

burp抓到的包,step=1
在这里插入图片描述

放包,跳转到第二步,用户确认修改密码,点击change。
在这里插入图片描述

burp抓到的包,step=2
在这里插入图片描述

放包,密码修改成功。
在这里插入图片描述

攻击过程,把第二次抓到的包发送到repeater,把password_new,password_conf修改为攻击者想设置的密码12345,然后send,修改密码成功,绕过了验证码。
在这里插入图片描述

2.2.medium

DVWA Security设置为Medium,开发人员在session设置状态变量,跟踪用户在提交数据之前是否成功完成了验证码。因为状态变量在客户端,它也可以被攻击者修改。
代码审计
在这里插入图片描述

通过源码知道,medium相比low就是在第二步多了passed_captcha验证。同low攻击一样,把第二次抓到的包发送到repeater,把password_new,password_conf修改为攻击者想设置的密码12345,再设置passed_captcha=true然后send,修改密码成功,绕过了验证码。
在这里插入图片描述

2.3.high

DVWA Security设置为High,开发把修改密码的两步合并为一步了。
代码审计
在这里插入图片描述

通过源码发现,在验证码验证通过与否时,如果g-recaptcha-response’,HTTP_USER_AGENT验证通过,也相当于验证码通过。
$_POST[ ‘g-recaptcha-response’ ] == ‘hidd3n_valu3’
$_SERVER[ ‘HTTP_USER_AGENT’ ] == ‘reCAPTCHA’
$resp参数我们无法控制,我们可以修改参数recaptcha_response_field、User-Agent。
启动burp抓包。
在这里插入图片描述

发送到repeater,
在host下添加User_Agent: reCAPTCHA ,修改g-recaptcha-response为hidd3n_valu3
放包,修改成功。
在这里插入图片描述

2.4.impossible

DVWA Security设置为Impossible Level。加入了Check Anti-CSRF token 防御CSRF攻击,使用了PDO技术防御SQL注入,还必须输入旧密码才能修改密码,暂时无法破解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值