目录
一、HTTP并发慢请求攻击解析
1.1HTTP并发慢请求攻击原理
检测受测设备抵御长HTTP会话攻击的能力,每个虚拟用户在一个HTTP会话中多次请求并降低请求速率,消耗很少的带宽,致使被攻击的服务器无响应。通过设置HTTP请求次数来控制请求次数来进行多次请求,客户端发送请求时,窗口大小为256,致使客户端会一直接收很小的数据包,从而降低请求速率。这样通过建立大量有效的连接,并始终只接收小数据包,保持这些连接不断开,由于攻击者的大量无意义连接和数据,导致服务器无法响应其他正常的请求。
1.2攻击使用场景
1.使用应用服务模式对服务器进行测试:通过设置HTTP请求次数来控制请求次数来进行多次请求,客户端发送请求时,win的大小为256.降低请求速率,消耗很少的带宽,致使被攻击的服务器无响应。
2.使用网关模式对防火墙等设备进行测试:在防火墙设置HTTP请求超时时间和限制的请求数量来测试防火墙对并发慢请求攻击的抵御能力。
二、HTTP并发慢请求攻击在supernova测试仪中可应用的场景
2.1 网关模式
测试仪同时模拟客户端和服务器,测试数据包穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。
2.2应用服务模式
测试仪只模拟客户端,向被测服务器发送数据包,从而得到该服务器运行状态来测试服务器的性能。
三、HTTP并发慢请求攻击用例功能介绍
3.1.分配cpu核
用例的运行需要分配cpu核数,最高性能需要分配一定的核数。
3.2限速配置
HTTP并发慢请求攻击支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
支持链路层和应用层的限速,限速单位支持最低为bps,最高为Gbps,默认为Mbps。
3.3抓包设置
可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。
3.4客户端源端口范围设置
可以设置发送端口的范围。范围大小:1 - 65,535可以选择,也可以使用单一端口。
3.5对象设置
可以选择web测试项目。可以选择内置的HTTP请求,也可以自己设置测试项目和请求功能。
四、HTTP并发慢请求攻击案例
4.1 HTTP并发慢请求攻击测试用例拓扑图
说明:测试仪使用“应用服务模式”模拟HTTP并发慢请求攻击的客户端,来测试服务器上服务器的性能。
4.2 HTTP并发慢请求攻击测试用例目的
每个虚拟用户会创建大量有效会话,在开始下载大型文档、对象后,减慢确认速度,从而过度消耗服务器资源。服务器系统等待缓存资源瞬间被占满,服务器拒绝服务,查找出服务器存在该漏洞,以便尽快地修复漏洞,从而提高应用程序的健壮性及抵御意外输入的安全性。
4.3 HTTP并发慢请求攻击预计结果
出现服务器系统等待缓存资源被占满,服务器拒绝服务。
五、测试步骤
5.1创建HTTP并发慢请求攻击用例,配置参数。
(1)在应用服务模式中,创建HTTP并发慢请求攻击,选择应用服务模式,配置被测设备的IP地址。
(2)分配CPU核数
(3)抓包设置,本次运行结果查看报文发送情况,可以在抓包中设置抓包类型和数量。
(4)设置并发连接数量和HTTP请求次数。并发连接数量可以根据需要天调整,并发连接数量大于等于客户端的所有cpu核数之和,单核最大支持6,700万并发量。HTTP请求次数:每条TCP连接,发送HTTP请求次数。
(5)点击启动用例
(6)在监控中查看运行界面
(7)生成报告
用例手动终止或者到时后,可在报告页面生成报告。
六、对预期结果进行验证
6.1抓包报文正常发送
建立并发后接收客户端发送GET请求 报文win=256,客户端以极低的速度来确认返回包,从而降低请求速率。追踪流查看一次TCP连接后请求次数和设置请求次数一致。
平均流量发送:16.7M/S平均流量接收:4.7M/S
6.2服务器系统有等待缓存资源被占满,服务器拒绝服务
查看服务器运行情况:Cpu资源占据100%。符合4.3期望预期。
6.3服务器拒绝服务.
无法打开服务器网址,服务器拒绝服务。
停止用例后可以正常访问服务器。符合4.3期望预期。