长密码拒绝服务攻击

0X01

今天在用AWVS扫一个站点时,发现一个Long password denial of service高危漏洞。通常情况下,我们都强调用复杂的密码来防止被爆破,然而过长的密码也可能被Hacker用来发起DOS攻击。Hacker故意反复发送长度较长,让服务器进行复杂的计算,可能导致服务器不响应或者资源耗尽。

0X02

这里假设在一个网站上注册一个用户,用户名会被明文存储,而密码一般都用 MD5 加密存储,如果密码设置的过长,服务器就要进行大量的计算出该密码对对应的 MD5 值,这个过程可能会使服务器宕机,所以一般网站都会对密码的长度进行限制,不只是最短长度。

测试执行(以我扫的那个站为例):

  • password of 1000000 characters => 30.015 s
  • password of 100 characters => 0.047 s
  • password of 100000 characters => 30.03 s
  • password of 1100000 characters => 29.999 s
  • password of 500 characters => 0.078 s

这里,为极简图床默哀一秒。

我们一直都向往,面朝大海,春暖花开。 但是几人能做到,心中有爱,四季不败?