再说Web渗透测试(第八集-下集)

admin 2024年10月27日22:01:20评论9 views字数 4946阅读16分29秒阅读模式

本文章阅读大约需要75分钟;

第八集,框架内容-WAF绕过;

内容有点多,所以分为上集10项+下集10项

Web渗透测试框架内容

编号  名称
描述
检查项
1 信息收集 子域名接管 15项
越权(IDOR)
15项
  2 Word Press CMS 安全
15项
  3 HTTP头
识别缺失或配置错误的安全头信息 25项

4

注入攻击

XSS 15项
SQL Injection
15项
  5 文件上传 尝试绕过安全机制上传恶意文件 20项

  6

SSRF
利用漏洞欺骗服务器端应用程序向内部网络或其他系统发送请求,获取敏感信息或进行攻击。

15项

7

WAF 测试WAF的有效性,包括其检测和阻止恶意流量的能力,以及绕过WAF的潜在方法。

20项

 8 TLS  TLS Vulnerability
 9 Cookie Cookie设置
10 XXE XML外部实体注入

1. Web安全最后的救赎:究竟是道高一尺,还是魔高一丈!

  下集10项目录:

编号 名称
 11 应用层 DDos
 12 SsL/TLS vulns
 13 HTTP头部注入
 14 已知攻击签名
 15 路径遍历
 16 XML vulns
 17 误报
 18 自定义规则
 19 漏报
 20 持续测试与监控

2.WAF绕过:20种常见方法深度解析 

11. 应用层DDos攻击测试:

应用层 DDoS 攻击不同于传统的网络层 DDoS 攻击,它不依赖于大量的流量,而是通过发送看似正常的 HTTP 请求,利用应用层协议的缺陷或 Web 服务器的资源限制,达到瘫痪目标网站的目的。

为了评估 WAF 对应用层 DDoS 攻击的防御能力,我们需要模拟真实的攻击场景,测试 WAF 是否能够识别和阻止这些攻击。

1.  测试制定的背景:

  • 应用层 DDoS 攻击日益普遍:  随着互联网的快速发展,应用层 DDoS 攻击的成本越来越低,攻击工具也越来越容易获取,导致应用层 DDoS 攻击越来越普遍。  攻击者只需要控制少量计算机,就可以发起大规模的攻击,而传统的网络层 DDoS 攻击防御措施,例如流量清洗等,难以有效防御应用层 DDoS 攻击。

  • WAF 面临新的挑战:  WAF 的主要功能是识别和拦截恶意请求,但应用层 DDoS 攻击使用的是合法的 HTTP 请求,难以被 WAF 识别和拦截。  这就要求 WAF 必须具备更强大的检测和防御能力,例如行为分析、异常检测等,才能有效防御应用层 DDoS 攻击。

2.  测试技术攻击原理:

应用层 DDoS 攻击主要利用以下几种技术手段:

  • HTTP Flood 攻击:攻击者向目标网站发送大量 HTTP GET 或 POST 请求,这些请求看似合法,但数量庞大,服务器需要消耗大量的资源来处理这些请求,最终导致服务器过载,无法响应正常用户的请求。

  • Slowloris 攻击:攻击者发送大量慢速 HTTP 请求,保持连接长时间不释放,消耗服务器的连接数资源。Web 服务器通常会限制最大并发连接数,如果攻击者占用了大量的连接,就会导致正常用户无法连接到服务器。

  • RUDY (R-U-Dead-Yet?) 攻击:攻击者发送一个非常大的 HTTP POST 请求,并且数据传输速度非常慢,消耗服务器的带宽和内存资源。  由于服务器需要等待接收完整个 POST 请求才能进行处理,如果攻击者长时间不发送数据,就会导致服务器的资源被占用,无法处理其他请求。

  • Zero-day DDoS 攻击: 攻击者利用未知漏洞或新型攻击手法,绕过 WAF 的防御机制,进行 DDoS 攻击。  这种攻击方式难以防御,因为 WAF 的规则库中没有针对这些漏洞或攻击手法的规则。

3.  本条测试绕过的技巧:

攻击者可以使用以下技巧绕过 WAF 防护:

  • 使用多个 IP 地址:攻击者可以使用僵尸网络或代理服务器,控制大量的计算机,从不同的 IP 地址发起攻击,绕过基于 IP 地址的速率限制。

  • 使用合法的请求:攻击者可以发送合法的 HTTP 请求,例如访问网站首页、浏览商品页面等,但请求频率非常高,造成服务器过载。

  • 隐藏攻击特征:攻击者可以模仿正常用户的行为,例如使用真实的 User-Agent、Referer 等头信息,以及随机访问不同的页面,使攻击流量看起来像正常的用户流量,难以被 WAF 识别。

  • 利用 WAF 规则缺陷:一些 WAF 的规则可能存在缺陷,例如只针对特定类型的请求进行过滤,或者速率限制的阈值过高,攻击者可以利用这些缺陷绕过 WAF 防护。

  • 攻击 WAF 本身:攻击者可以攻击 WAF 本身,例如利用 WAF 的漏洞,导致 WAF 崩溃或无法正常工作,从而绕过 WAF 防护。

4.  测试方法:

  • 模拟攻击:使用 DDoS 测试工具,例如 HULK、Slowloris、GoldenEye 等,模拟应用层 DDoS 攻击,观察 WAF 的防御效果。

  • 压力测试:使用压力测试工具,例如 ApacheBench、JMeter 等,模拟大量用户访问网站,测试网站在高负载情况下的性能表现,以及 WAF 的防御能力。

5.  目的:

  • 测试 WAF 是否能够有效地防御应用层 DDoS 攻击,包括 HTTP Flood、Slowloris、RUDY 等。

  • 测试 WAF 是否能够识别和拦截隐藏在合法请求中的恶意流量。

6.  推荐工具:

  • HULK:  一款开源的 HTTP Flood 攻击工具。

    • 攻击代码示例:hulk -s example.com -p 80 -m GET   (使用 HULK 对 example.com 的 80 端口进行 HTTP Flood 攻击,使用 GET 方法)

  • Slowloris:  一款开源的 Slowloris 攻击工具。

    • 攻击代码示例:slowloris -s 100 -v example.com  (使用 Slowloris 对 example.com 发起攻击,使用 100 个并发连接)

  • GoldenEye:  一款开源的 HTTP Flood 攻击工具,支持多种攻击模式。

  • ApacheBench:  一款开源的 HTTP 服务器性能测试工具,可以用来模拟大量用户访问网站,进行压力测试。

    • 测试代码示例: ab -n 1000 -c 100 https://example.com/  (使用 ApacheBench 对 example.com 进行压力测试,发送 1000 个请求,并发 100 个连接)

  • JMeter:  一款开源的性能测试工具,可以用来测试 Web 应用、数据库、FTP 服务器等各种服务的性能。

7.  防御理念及方法:

  • 限制请求速率:配置 WAF 规则,限制每个 IP 地址或每个用户在一段时间内可以发送的请求次数,就像设置交通信号灯,控制流量速度,防止道路拥堵。

  • 识别恶意 User-Agent:配置 WAF 规则,识别和拦截使用恶意 User-Agent 的请求,例如已知的攻击工具 User-Agent、非浏览器 User-Agent 等。 这就像识别可疑人员,阻止其进入城市。

  • 验证 HTTP 头信息: 验证 HTTP 头信息的合法性,例如 Referer 头信息、Accept-Language 头信息等,识别异常的请求。

  • 使用行为分析:  WAF 可以使用行为分析技术,识别异常的请求模式,例如短时间内来自同一 IP 地址的大量请求、访问敏感 URL 的请求等,即使攻击者使用了隐藏攻击特征的技巧,也可能被 WAF 检测到。 这就像城市中的监控系统,可以识别异常行为,及时报警。

  • 优化服务器性能:  优化 Web 服务器和应用程序的性能,提高服务器的负载能力,例如使用缓存技术、优化数据库查询、使用负载均衡等,就像加强城市基础设施建设,提高城市承载能力。

  • 使用 CDN 服务:  使用内容分发网络 (CDN) 服务,将网站内容缓存到多个服务器节点,分散攻击流量,提高网站的可用性。 这就像建立多个分流通道,分担交通压力。

应用层 DDoS 攻击案例:实战演练

案例一:HTTP Flood 攻击 -  利用脚本模拟大量请求

    攻击代码:

import requestsimport threadingurl = 'https://example.com/'num_threads = 100def send_request():    while True:        requests.get(url)for i in range(num_threads):threading.Thread(target=send_request).start()                                                    Python

该脚本使用 Python 的 requests 库发送 HTTP GET 请求,并使用多线程技术,模拟大量用户并发访问网站,造成服务器过载。,模拟大量用户并发访问网站,造成服务器过载。

防御措施:配置 WAF 规则,限制match每个 IP 地址在一段时间内可以发match送的请求次数。

案例二:Slowloris 攻击 -  利用工具发起慢速攻击

  • 攻击代码:   使用 Slowloris 工具攻击目标网站:

slowloris -s 100 -v example.com

该命令使用 100 个并发连接,对 example.com 发起 Slowloris 攻击。

防御措施:  配置 WAF 规则,限制每个 IP 地址的最大并发连接数,并设置连接超时时间,及时释放闲置连接。

案例三:RUDY 攻击 - 发送超大 POST 请求

  • 攻击代码:使用 Burp Suite 构造一个超大的 POST 请求,并将 Content-Length 头信息设置为一个非常大的值,例如 1GB,然后发送该请求到目标网站。  或者,可以使用 Python 脚本,模拟发送超大 POST 请求:

import socketimport time# 目标服务器地址和端口HOST = 'example.com'PORT = 80# 构造 POST 请求request = (    "POST / HTTP/1.1rn"    "Host: {}rn"    "Content-Type: application/x-www-form-urlencodedrn"    "Content-Length: 1000000000rn"  # 设置超大 Content-Length    "rn").format(HOST)# 建立连接并发送请求with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:    s.connect((HOST, PORT))    s.sendall(request.encode())    # 缓慢发送数据    for i in range(1000000):        s.sendall(b'a')        time.sleep(0.1)                                             python

防御措施:配置 WAF 规则,限制 POST 请求的数据大小,并设置请求超时时间,避免服务器资源被长时间占用。

案例四:Zero-day DDoS 攻击 -  利用未知漏洞

  • 攻击代码: 攻击者发现了一个 Web 服务器的未知漏洞,该漏洞会导致服务器在处理特定类型的请求时崩溃。 攻击者利用该漏洞构造恶意请求,并发送到目标网站,导致服务器崩溃。 例如,攻击者发现某个 Web 服务器软件在处理包含特定字符的 URL 时会崩溃,攻击者就可以构造包含该字符的 URL,并发送大量请求到目标服务器,导致服务器崩溃。

  • 防御措施: 及时更新 Web 服务器和应用程序,修复已知漏洞,并使用 WAF 拦截针对未知漏洞的攻击。  WAF 可以使用异常检测技术,识别异常的请求模式,即使是未知漏洞,也可能被 WAF 检测到。

案例五: 隐藏攻击特征 -  模拟正常用户行为

  • 攻击代码: 攻击者使用真实的 User-Agent 和 Referer 头信息,随机访问网站的不同页面,发送请求的频率与正常用户相似,例如每秒 1-2 个请求,试图绕过 WAF 的检测。  例如,攻击者可以编写一个脚本,模拟用户的正常浏览行为,访问网站的多个页面,并随机停留一段时间,使攻击流量看起来像正常的用户流量。

  • 防御措施:WAF 可以使用行为分析技术,识别异常的请求模式,例如短时间内来自同一 IP 地址的访问次数、用户行为与历史记录的偏差等,即使攻击者模仿了正常用户的行为,也可能被 WAF 检测到。  同时,开发者也可以使用验证码、双因素认证等机制,增加攻击者的攻击成本,提高攻击的难度。

总结:

应用层 DDoS 攻击是一种非常危险的攻击方式,它利用看似合法的 HTTP 请求,消耗服务器资源,最终导致网站瘫痪。  WAF 可以作为防御这类攻击的一道防线,但 WAF 本身也可能存在漏洞或配置错误,导致攻击者可以绕过 WAF 防护。开发者需要了解应用层 DDoS 攻击的原理和绕过技巧,并采取相应的防御措施,才能有效地保护网站安全。

防御应用层 DDoS 攻击是一个系统工程,需要开发者、安全运维人员和 WAF 厂商共同努力,才能构建更加完善的防御体系。

12. SsL/TLS vulns测试 :

原文始发于微信公众号(再说安全):再说Web渗透测试(第八集-下集)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月27日22:01:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   再说Web渗透测试(第八集-下集)https://cn-sec.com/archives/3320945.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息