Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2023-44487 — LTAT.04.022 作业4的教育环境 | Kitploit
工具/GitHubGitHub/hirokiii/cve-2023-44487
容器安全漏洞分析配置审计Web安全网络安全学习与教育实验室与实践
GitHubhirokiii/cve-2023-44487

CVE-2023-44487

LTAT.04.022 作业4的教育环境

查看仓库
493个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-44487 — HTTP/2 Rapid Reset 测试实验室

LTAT.04.022 作业4的教育环境。
四个容器让你扫描和比较易受攻击与已修补的配置。


端口映射

容器端口软件状态
nginx-vuln8441nginx 1.24易受攻击
nginx-secure8442nginx latest已修补
apache-vuln8443Apache 2.4.57易受攻击
apache-secure8444Apache latest已修补

1. 设置

root@kitploit:~
# Generate self-signed TLS certs (required by all containers)
bash gen-certs.sh

# Start all 4 containers
docker compose up -d

# Verify all are running
docker compose ps

2. 基本连接测试

root@kitploit:~
# Check each container responds (ignore cert warning with -k)
curl -k --http2 -I https://localhost:8441   # nginx vulnerable
curl -k --http2 -I https://localhost:8442   # nginx secure
curl -k --http2 -I https://localhost:8443   # apache vulnerable
curl -k --http2 -I https://localhost:8444   # apache secure

预期结果:全部四个返回 HTTP/2 200。


3. 确认 HTTP/2 已启用

root@kitploit:~
curl -k --http2 -v https://localhost:8441 2>&1 | grep -E "ALPN|HTTP/"

查找:

root@kitploit:~
* ALPN: server accepted h2
< HTTP/2 200

4. 运行 CVE 扫描器

root@kitploit:~
# Copy the scanner here first (or adjust the path)
cp ../scanner.py .

python3 scanner.py localhost 8441   # nginx vuln
python3 scanner.py localhost 8442   # nginx secure
python3 scanner.py localhost 8443   # apache vuln
python3 scanner.py localhost 8444   # apache secure

预期结果:

目标HTTP/2结论

5. 检查流限制(关键区别)

使用 nghttp 检查每个服务器发送的 SETTINGS 帧。
这会直接显示 SETTINGS_MAX_CONCURRENT_STREAMS 的值。

root@kitploit:~
# Install nghttp2 client
sudo apt install nghttp2-client   # Ubuntu/Debian
brew install nghttp2              # macOS

# Inspect SETTINGS frame
for port in 8441 8442 8443 8444; LIKELY PAdo
  streams=$(nghttp -nvy https://localhost:$port 2>&1 | grep "MAX_CONCURRENT" | tail -1 | awk -F: '{print $2}' | tr -d ']')
  echo "port $port → MAX_CONCURRENT_STREAMS: $streams"
done

# (Results)
port 8441 → MAX_CONCURRENT_STREAMS: 128
port 8442 → MAX_CONCURRENT_STREAMS: 32
port 8443 → MAX_CONCURRENT_STREAMS: 1000
port 8444 → MAX_CONCURRENT_STREAMS: 32

易受攻击的服务器:高流限制(128+)
安全的服务器:限制为 32


6. 模拟快速重置压力(安全,仅本地)

这会在一个连接上快速发送 50 个请求 —— 不是真正的攻击,
但可以在日志中显示服务器的 RST 处理行为。

root@kitploit:~
# h2load is part of nghttp2-client
h2load -n 1000 -c 1 -m 50 https://localhost:8441   # vuln
h2load -n 1000 -c 1 -m 50 https://localhost:8442   # secure

示例预期日志:

root@kitploit:~
$ h2load -n 1000 -c 1 -m 1000 https://localhost:8441
starting benchmark...
spawning thread #0: 1 total client(s). 1000 total requests
TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Application protocol: h2
progress: 10% done
progress: 20% done
progress: 30% done
progress: 40% done
progress: 50% done
progress: 60% done
progress: 70% done
progress: 80% done
progress: 90% done
progress: 100% done

finished in 22.51ms, 44428.65 req/s, 5.38MB/s
requests: 1000 total, 1000 started, 1000 done, 1000 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 1000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 124.07KB (127049) total, 83.01KB (85000) headers (space savings 38.85%), 23.44KB (24000) data
                     min         max         mean         sd        +/- sd
time for request:      260us      2.98ms      2.25ms       384us    87.70%
time for connect:     2.51ms      2.51ms      2.51ms         0us   100.00%
time to 1st byte:     3.24ms      3.24ms      3.24ms         0us   100.00%
req/s           :   45059.11    45059.11    45059.11        0.00   100.00%

$ h2load -n 1000 -c 1 -m 1000 https://localhost:8442
starting benchmark...
spawning thread #0: 1 total client(s). 1000 total requests
TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Application protocol: h2
progress: 10% done

finished in 5.38ms, 18583.91 req/s, 2.33MB/s
requests: 1000 total, 1000 started, 167 done, 100 succeeded, 900 failed, 900 errored, 0 timeout
status codes: 100 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 12.83KB (13134) total, 8.30KB (8500) headers (space savings 38.85%), 2.25KB (2300) data
                     min         max         mean         sd        +/- sd
time for request:       83us      1.04ms       533us       256us    63.00%
time for connect:     2.96ms      2.96ms      2.96ms         0us   100.00%
time to 1st byte:     3.55ms      3.55ms      3.55ms         0us   100.00%
req/s           :   19316.22    19316.22    19316.22        0.00   100.00%

安全的容器在达到流限制时会显示连接重置或拒绝;
易受攻击的容器则会毫无抱怨地接受全部 50 个请求。


7. 比较服务器响应头

root@kitploit:~
# Vulnerable servers expose version info
curl -k -I https://localhost:8441 2>/dev/null | grep -i server
curl -k -I https://localhost:8443 2>/dev/null | grep -i server

# Secure servers hide or minimize version info
curl -k -I https://localhost:8442 2>/dev/null | grep -i server
curl -k -I https://localhost:8444 2>/dev/null | grep -i server

8. 清理

root@kitploit:~
docker compose down

配置更改内容(总结)

nginx

Apache

设置易受攻击 (2.4.57)安全 (2.4.58+)
H2MaxSessionStreams100032
ServerTokensFullProd
重置保护补丁

参考

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2023-44487
  • Cloudflare 报告: https://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack/
  • Google 报告: https://cloud.google.com/blog/products/identity-security/how-it-works-the-novel-http2-rapid-reset-ddos-attack
  • CISA 公告: https://www.cisa.gov/news-events/alerts/2023/10/10/http2-rapid-reset-vulnerability-cve-2023-44487
下载工具
8441YES可能易受攻击
8442YES可能已修补
8443YES可能易受攻击
8444YES未知
设置易受攻击 (1.24)安全 (1.25.3+)
http2_max_concurrent_streams128 (默认)32
keepalive_requests10000100
keepalive_timeout300s65s
RST_STREAM 速率保护无内置补丁中
未应用
已应用