验证码攻防问题总结分享
bcloud 发表于 四川 渗透测试 446浏览 · 2024-11-27 09:17

前言

最近在做一些事业单位的渗透测试,并且指定系统进行测试,还不给账号密码,还不能被动扫描,所以没办法就只有在外围找找有没有弱口令,用户名枚举,暴力拆解啥的,很显然没有,所以就对图形验证码进行一系列操作看看有没有啥收获,这不,一测就有,就来水一篇文章hhh。
现在为了防止攻击者暴力破解密码等操作基本上都使用了图形验证码,所以寻找测试点是比较容易的,我们主要测试验证码复用,这个测试点可能会有通杀的可能性。这里就拿几个我遇到的案例来进行讲解。

案例1

首先开局一个登录口

看到有图形验证码,直接点击图形验证码新建链接,发现verifyId字段,如果取消该字段那么服务器会返回错误,因此猜测该字段控制图形验证码值,所以我们这时候可以抓抓登陆包看看是否有verifyId字段并且值和我们的图形验证码是一样的

获取到登录数据包,先输入错误的验证码,发现提示验证码错误

输入正确的验证码提示用户名或者密码错误,成功绕过验证码,我们一直重放10次以上,如果没有提示验证码错误那就是验证码复用成功

案例2

开局还是登录口

这次的图形验证码复用有点不一样,不需要通过id字段与验证码值进行绑定
直接右键图形验证码新建链接

先进行登录测试,发现此时登录界面的图形验证码错误无法使用,需要使用新建链接中的图形验证码

我们抓包使用新建链接中的图形验证码,发现验证码复用成功并且不需要绑定使用,而且我们可以发现删除验证码链接也可以使用,但是我们新建两个图形验证码链接那么第一个就会失效,使用第二个验证码也能够达到复用的目的

案例3

此漏洞与上述两个均有差异
其验证码通过uuid字段进行绑定使用,但是在右键新建链接时其实并没有uuid参数

我们通过抓包可获取uuid值

直接将uuid值自动添加到验证码接口后面

抓取登录包,更改验证码和uuid为一致即可,重放10次,验证码复用成功

案例4

这个也是与验证码相关的,但是不是验证码复用问题,而是类似于资源消耗漏洞,这个互联网上应该都有公开的文章,所以这里也不啰嗦。
首先登录口也是新建链接,通过拼接height,width参数验证是否存在并且是否参数可以任意更改数值大小

多次尝试发现可以通过height和width来任意更改图形验证码大小

通过抓包看返回包的字节大小,通过这种方式可以判断服务器返回的流量大小进而让服务器返回过大的响应包形成资源消耗从而造成ddos的目的

1 条评论
某人
表情
可输入 255
目录