前言
图片验证码是为了防止恶意破解密码、刷票、论坛灌水等才出现的,但是你有没有想过,你的图形验证码竟然可能导致服务器的崩溃?
那他是如何导致的呢?请听我婉婉道来。
先看看各大平台对待此漏洞的态度:
利用过程
这里以phpcms为例, 首先需要找一个图形验证码。
将图片拖动到浏览器中将得到该图形验证码的链接:
将链接拖出来咱们分析一下:
如果将参数 font_size、 width、 height均设置为1000将会出现什么情况呢?
可以发现验证码的形状已经改变,证明这个参数是会随着我们的更改而更改的,而且在改成1000时,整个页面的加载速度明显变慢,大家请想,如果都改为10000甚至更高会发生什么事情? 服务器会不会一直在处理我们所请求的图片?
此时我们上神器burp来检验一下
当设置为1000时:
当设置为10000时:
处理所用的时间明显增长,我们再看看在发起这个请求时CPU有什么反应:
CPU有一个明显的峰值,那当我们使用python去不断进行请求的时候又会发生什么?这个是正常情况下的CPU占用率:
当我们启动python程序的时候CPU的占用率:
可见,我们请求的验证码对服务器产生了重大的影响。
代码分析
根据请求包我们跟进到 \api\checkcode.php:
在第12行和第17行可以看到,仅仅将验证码的长宽通过get方式接受,没有任何其他的过滤,在第13行和第18行也仅仅只对最小值进行了限制,并没有对***值进行限制,所以就造成了这个验证码的漏洞。
总结一下这个漏洞的利用点:
解决方案
网页题目:你知道吗?图形验证码可能导致服务器崩溃
当前地址:http://www.mswzjz.cn/qtweb/news28/413228.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能