您的位置:首页 > 理论基础 > 计算机网络

http 漏洞解决办法

2017-08-06 20:15 260 查看


HTTP协议Content Lenth限制漏洞导致拒绝服务攻击

漏洞描述:
  在HTTP协议中,当使用POST方法时,可以设置ContentLenth来定义需要传送的数据长度,但是HTTP协议中并没有对ContentLenth的大小进行限制,这使得拒绝服务-内存耗尽攻击成为可能。
  在IIS中,用户POST数据时,系统先将用户上传的数据存放在内存中,当用户完成数据传送(数据的长度达到ContentLenth时),IIS再将这块内存交给特定的
  文件或CGI处理;假如用户POST非常大的数据(通过多次数据发送)例如ContentLenth:999999999,在传送完成前,内存不会释放,攻击者可以利用这个缺陷,连续向WEB服务器发送垃圾数据直至WEB服务器内存耗尽。在Web服务器内存不足的时候,我们可以明显的看到系统速度下降、硬盘读写增多(缓存)等现象的出现。
  值得注重的是,这种攻击方法基本不会留下痕迹:
  首先,由於数据传送不会完成(只要ContentLenth足够大,比如Content-Length:2147483647),所以IIS日志无法记录(IIS日志是在操作完成后才记录的)
  其次,由於进行的是正常的POST操作,而且数据是缓慢送入WEB服务器的,因此防火墙很难发现这样的操作。(除非在防火墙上
  对ContentLenth进行监测)
  第三,这种攻击对於攻击者的主机来说几乎没有任何负荷,既不会消耗CPU更不会占用内存,最多是占用了部分带宽。
  解决方法:
  编写相应的Filter,对於过大的ContentLenth进行过滤。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  http协议 漏洞
相关文章推荐