标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-1762] 作者: 闲云野鸡 发表于: [2018-08-27]
本文共 [402] 位读者顶过
图片验证码是为了防止恶意破解密码、刷票、论坛灌水等才出现的,但是你有没有想过,你的图形验证码竟然可能导致服务器的崩溃? 那他是如何导致的呢?请听我婉婉道来。 先看看各大平台对待此漏洞的态度:
利用过程这里以phpcms为例,首先需要找一个图形验证码。
如果将参数font_size、width、height均设置为1000将会出现什么情况呢?
可以发现验证码的形状已经改变,证明这个参数是会随着我们的更改而更改的,而且在改成1000时,整个页面的加载速度明显变慢,大家请想,如果都改为10000甚至更高会发生什么事情? 服务器会不会一直在处理我们所请求的图片? 此时我们上神器burp来检验一下 当设置为1000时:
当设置为10000时:
当我们启动python程序的时候CPU的占用率:
可见,我们请求的验证码对服务器产生了重大的影响。 代码分析根据请求包我们跟进到 \api\checkcode.php:
在第12行和第17行可以看到,仅仅将验证码的长宽通过get方式接受,没有任何其他的过滤,在第13行和第18行也仅仅只对最小值进行了限制,并没有对最大值进行限制,所以就造成了这个验证码的漏洞。 总结一下这个漏洞的利用点:
解决方案
|