HTTP慢速攻击是一种DoS攻击的方式。HTTP请求底层使用TCP网络连接进行会话,如果中间件对会话超时时间设置不合理,发送请求的时候采用慢速发HTTP请求就会占用一个连接会话,如果发送大量慢速的HTTP包就会导致拒绝服务攻击DoS。
HTTP 慢速攻击也叫 slow http attack,是一种 DoS 攻击的方式。由于 HTTP 请求底层使用 TCP 网络连接进行会话,因此如果中间件对会话超时时间设置不合理,并且 HTTP 在发送请求的时候采用慢速发 HTTP 请求,就会导致占用一个 HTTP 连接会话。如果发送大量慢速的 HTTP 包就会导致拒绝服务攻击 DoS。
3 种攻击方式
Slow headers(也称 slowloris):Web 应用在处理 HTTP 请求之前都要先接收完所有的 HTTP 头部,Web 服务器再没接收到 2 个连续的\r\n 时,会认为客户端没有发送完头部,而持续的等等客户端发送数据,消耗服务器的连接和内存资源。
Slow body(也称 Slow HTTP POST):攻击者发送一个 HTTP POST 请求,该请求的 Content-Length 头部值很大,使得 Web 服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。
Slow read(也称 Slow Read attack):客户端与服务器建立连接并发送了一个 HTTP 请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取 Response,比如很长一段时间客户端不读取任何数据,通过发送 Zero Window 到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。
防御原理
针对 HTTP 慢速攻击的特点,Anti-DDoS 设备对每秒钟 HTTP 并发连接数进行检查,当每秒钟 HTTP 并发连接数超过设定值时,会触发 HTTP 报文检查,检查出以下任意一种情况,都认定受到 HTTP 慢速连接攻击,则将该源 IP 地址判定为攻击源,加入动态黑名单,同时断开此 IP 地址与 HTTP 服务器的连接。
连续多个 HTTP POST 报文的总长度都很大,但是其 HTTP 载荷长度都很小。
连续多个 HTTP GET/POST 报文的报文头都没有结束标识。
文章来自互联网,只做分享使用。发布者:爱科技,转转请注明出处:https://www.baoxiaoke.com/article/214441.html