一张验证码引发对DOS的思考

DDOS攻击在互联网上是比较常见的一种攻击方式。

他的目的就是为了让攻击目标网站或者在线服务失去相应,或者因为大量流量和IP一时间如洪水般涌入服务器,导致服务器拒绝服务,甚至宕机。

在《白帽子讲WEB安全》笔记一文中,我有写到各类常见 DDOS 攻击,以及简单的防御方式。

本次实验主要是在某次挖洞的过程,以及正好看到黑家小无常刚发布的文章给我的启示,然后顺便做了一下验证。

0x01 线上测试

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

参数可控

复现

放到BurpSuite中复现测试如下:

正常请求

调整参数

font_size width 以及 height 参数:

扩大值

然后再放大

Boom!

所以如果我们无限制放大下去,那么服务器真的就得GG了,图片的渲染绘制,面积越大绘制时间越长,返回的数据包越大,当大量僵尸网络访问这样的放大链接时,服务器就会猛地消耗资源!

0x02 资源耗尽型DDOS

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

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

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

计算型DOS

0x03 数据库连接DOS

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

0X04 总结

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

发表评论 / Comment

用心评论~

金玉良言 / Appraise
杨小杰博客LV 1
2018-09-24 14:55
可怕
StreamLV 1
2018-08-24 22:03
好6
广安网站建设LV 2
2018-08-16 09:34
学习了