十四、不安全的验证码(Insecure CAPTCHA)-Low

Ant大约 1 分钟DVWAInsecure CAPTCHA

十四、不安全的验证码(Insecure CAPTCHA)-Low

一、漏洞原理

1.1CAPTCHA介绍

CAPTCHA全称为Completely Automated Public Turing Test to Tell Computers and Humans Apart,即全自动区分计算机和人类的图灵测试,通常被称为验证码。

CAPTCHA常以验证码、拼图等形式来识别是人在操作和机器在操作,这些验证方式的特点在于人可以轻松通过验证,但是机器很难通过验证。添加CAPTCHA的目的在于防止自动化脚本的恶意行为,比如刷单、抢票、爬虫等。

不安全的验证码漏洞属于逻辑漏洞,平台在对验证码进行验证时,流程设计上存在漏洞,容易被攻击者绕过。

1.2Low级别源码分析

Low级别源码分析1
Low级别源码分析1
Low级别源码分析2
Low级别源码分析2

通过对Low级别源码分析可以知道,修改密码的功能分为了独立的两步:当step=1时验证CAPTCHA的值是否正确;当step=2时判断两次输入的新密码是否一致,一致则密码修改成功。

我们通过Burpsuite进行抓包,修改step参数的值来绕过对CAPTCHA值的验证。

二、漏洞利用

1.输入新密码后使用Burpsuite抓包,找到step参数的值。

输入新密码
输入新密码
找到step参数
找到step参数

2.修改step参数的值为2并转发(Forward)数据包。

修改step的值
修改step的值
密码修改成功
密码修改成功

三、防御手段

将CAPTCHA值的校验和密码的修改操作关联起来,同时增加初始密码的校验,初始密码输入正确后执行密码修改操作。

Loading...