MENU

一张验证码引发的DOS攻击

November 14, 2018 • Read: 967 • 安全测试阅读设置

 DOS攻击

  • DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。
  • DoS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。

来自百度百科

漏洞成因

可控的图片验证码参数,导致请求数据包的持续变大,持续消耗主机资源的DOS

漏洞测试

访问某网站后台,存在验证码登陆验证的操作,点击可刷新验证码,发现在请求头中有对验证码参数可控的操作。

复现

放到BurpSuite中复现测试如下:

调整参数
font_size width 以及 height 参数:

查看数据包

资源耗尽型 DDOS

这其实就是一种资源耗尽类型的DOS攻击

之前有说过程序正则匹配导致DOS的问题

这里想到一个,比如数值型的参数,传参过去,我们可以改成算式类型,在后台一般会计算这个值

数据库连接 DOS

有的程序在编写的过程中,只有连接数据库,但是查询完毕之后并没有断开与数据库的链接,因此,当一个页面调用数据库太多,或者数据库数据内容本身较大时(例如搜索功能或者程序本身一些数据查询修改等操作)导致数据库连接高并发,从而出现数据库2002(连接失败)的错误。

总结

还有很多类型的 DOS攻击 ,主要从程序本身入手!因此在 SDL 中应当注意这种问题,原理虽然不变,但是此次利用验证码也是一种新的思路!

扩展

一般来说,我们会用BurpSuite来测试对吧,持续发包的工具是爆破模块。这很显然,是一个IP地址不断的去请求,如果我们把这个洞配合XSS呢?只需要一个用户量大的网站,让用户不断的去请求即可。

参考文章:
一张验证码引发对 DOS 的思考

Archives QR Code Tip
QR Code for this page
Tipping QR Code