Cyber Apocalypse CTF 2025 部分web wp
字数 1588 2025-08-30 06:50:28
Cyber Apocalypse CTF 2025 Web题目解析与利用技术详解
目录
- Trial by Fire - Jinja2 SSTI利用
- Whispers of the Moonbeam - 命令注入与终端绕过
- Cyber Attack - Apache CRLF注入与SSRF
- Eldoria Realms - Ruby原型链污染与GRPC注入
Trial by Fire
漏洞分析
这是一个基于Jinja2模板引擎的服务器端模板注入(SSTI)漏洞。
- 题目提供了一个简单的路由,使用Jinja2模板引擎渲染用户输入
- 由于未对用户输入进行适当过滤,导致可以直接注入模板代码
利用方法
直接构造Jinja2的SSTI payload进行利用:
{{ config.__class__.__init__.__globals__['os'].popen('id').read() }}
防御措施
- 对用户输入进行严格过滤
- 使用Jinja2的沙盒环境
- 避免直接将用户输入作为模板渲染
Whispers of the Moonbeam
非预期解
题目提供了一个类似终端的界面,包含以下命令:
gossip- 查看系统信息observe- 查看进程信息
直接利用gossip命令查看目录,发现flag.txt文件并直接访问:
http://target/flag.txt
预期解(命令注入)
- 通过
observe命令可以发现系统执行了Linux命令 - 在命令输入框中使用分号(
;)进行命令注入:
; cat flag.txt;
或者:
| cat flag.txt
防御措施
- 使用白名单验证用户输入
- 避免直接拼接用户输入到系统命令
- 使用安全的命令执行API
Cyber Attack
漏洞分析
题目涉及Apache服务器的CRLF注入和SSRF攻击:
-
提供两个攻击按钮:
attack-domain.py- 检查域名格式attack-ip- 检查IP格式并限制为本地访问
-
Apache配置限制:
- 只有本地用户可以调用
attack-ip路由 index.php中也做了相应限制
- 只有本地用户可以调用
利用方法
利用Apache的CRLF注入完成SSRF攻击:
- 构造恶意payload利用CRLF注入:
http://target/attack-domain?url=http://127.0.0.1%0d%0aX-Forwarded-For:%20127.0.0.1%0d%0a%0d%0a
- 绕过本地限制,访问
attack-ip路由
防御措施
- 严格验证HTTP头
- 禁用不必要的HTTP方法
- 限制服务器对自身的请求
Eldoria Realms
漏洞概述
这是一个Ruby应用,涉及原型链污染和GRPC注入攻击,最终实现RCE。
污染our_url
-
应用路由:
/player- 用户信息,包含merge方法更新信息/quest- 问题及其奖金/store- 商店/fellowship- 用户信息/livedata- 更新信息/advanced- 召唤Helios和连接realm功能
-
漏洞点:
merge_with调用了recursive_merge方法- 从
merge-fates路由获取用户输入的JSON数据 - 可以污染
our_url属性来更改连接行为
利用SSRF请求走私GRPC packet
- 污染
our_url后,通过connect-realm路由执行curl命令 - Docker环境中curl版本为7.7.0.0,可利用gopher协议攻击GRPC
- 目标端口:127.0.0.1:50051
go命令注入
在app.go中存在不安全的命令拼接:
cmd := exec.Command("sh", "-c", "nc -zv "+ip+" "+port)
可以直接注入命令:
port = "1337; cat /flag.txt;"
完整利用步骤
- 污染
our_url:
{
"__proto__": {
"our_url": "gopher://127.0.0.1:50051/_<GRPC_PACKET>"
}
}
- 调用
connect触发漏洞 - 访问
/flag.txt获取flag
防御措施
- 避免使用
__proto__等原型链操作 - 严格验证用户输入的URL
- 使用安全的命令执行方式
- 更新curl等基础组件
总结
本次CTF题目涵盖了多种Web安全技术:
- 模板注入(SSTI)
- 命令注入
- CRLF注入
- SSRF攻击
- 原型链污染
- GRPC协议注入
每种技术都需要深入理解其原理和防御方法,在实际开发中应特别注意这些安全风险。