http慢速攻击漏洞修复

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了http慢速攻击漏洞修复脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

原理

漏洞原理

HTTP慢速攻击也叫slow http attack,是一种DOS攻击的方式。由于HTTP请求底层使用TCP网络连接进行会话,因此如果中间件对会话超时时间设置不合理,并且HTTP在发送请求的时候采用慢速发HTTP请求,就会导致占用一个HTTP连接会话。如果发送大量慢速的HTTP包就会导致拒绝服务攻击DoS。

3种攻击方式

Slow headers(也称slowloris)F1a;Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,Web服务器再没接收到2个连续的rn时,会认为客户端没有发送完头部,而持续的等等客户端发送数据,消耗服务器的连接和内存资

Slow body(也称Slow HTTP POST):攻击者发送一个HTTP POST请求,该请求的Content-Length头部值很大,使得Web服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。

Slow read(也称Slow Read attack):客户端与服务器建立连接并发送了一个HTTP请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response,比如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。

漏洞验证

我这里使用docker方式,感觉方便快捷,命令分享如下:

下载镜像
docker pull shekyan/slowhttptest:latest

slowloris攻击模拟
docker run -it --rm shekyan/slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u http://ip:port/ -x 24 -p 3

查看对应IP服务器上的连接情况: 命令:netstat -anp |grep 8081 |wc -l

http慢速攻击漏洞修复

发现已经建立的1002个连接,并持续保持。 这就说明,存在http慢速攻击漏洞。如果加大攻击数量,则会耗尽服务器tcp连接资源,导致服务不可用。

修复漏洞

修改tomcat配置 修改tomcat server.XMl中的

<Connector port="8081" PRotocol="HTTP/1.1"
               connectionTimeout="8000"
               disableUploadTimeout="true"
               disableUploadTimeout="true"
               redirectPort="18443"
                           URIEncoding="utf-8"
               maxpostSize="-1"
               maxHttpHeaderSize ="102400"/>

其中connectionTimeout更改为了8000,并增加了disableUploadTimeout="true"参数

保存后重启服务再测

http慢速攻击漏洞修复

发现攻击连接很快超时关闭,说明漏洞被修复。

其他事宜

另外两种攻击测试方式:

Slow Body攻击:
docker run -IT --rm shekyan/slowhttptest  -c 1000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u http://ip:port/ -x 10 -p 3

Slow Read模式:
docker run -it --rm shekyan/slowhttptest  -c 1000 -X -r 1000 -w 10 -y 20 -n 5 -z 32 -u http://ip:port/ -p 5 -l 350 -e x.x.x.x:8080

命令字段含义

-a 一开始开始值范围说明符用于范围头测试 -b 将字节限制的范围说明符用于范围头测试 -c 连接数限制为65539 -d Proxy host:port用于指导所有流量通过web代理 -e proxy host:port端口用于指导只有探针交通通过web代理 -h,B,R或x 指定减缓在头部分或在消息体,- R 允许范围检验,使慢读测试- x -g 生成统计数据在CSV和html格式,模式是缓慢的xxx。csv / htML,其中xxx是时间和日期 -i seconds秒间隔跟踪数据在几秒钟内,每个连接 -k 管道因子次数重复请求在同一连接慢读测试如果服务器支持HTTP管道内衬。 -l 在几秒钟内,秒测试时间 -n 秒间隔从接收缓冲区读取操作 -o 文件定义输出文件路径和/或名称,如果指定有效- g -p 秒超时等待HTTP响应在探头连接后,服务器被认为是不可访问的 -r seconds连接速度 -s 字节值的内容长度标题详细说明,如果指定- b -t verb自定义 -u URL目标URL,相同的格式键入浏览器,e。g https://host[:port]/ -v level冗长等级0 – 4的日志 -w 字节范围广告的窗口大小会选择从 -x 字节最大长度的跟踪数据结束 -y 字节范围广告的窗口大小会选择从 -z 字节从接收缓冲区读取字节与单一的read()操作

以上。

脚本宝典总结

以上是脚本宝典为你收集整理的http慢速攻击漏洞修复全部内容,希望文章能够帮你解决http慢速攻击漏洞修复所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。