Ping Ping Ping
提示给了ping ip,直接猜命令执行拼接,试了一下
发现是可以的,接下来就是cat flag.php,发现有过滤:
Linux表示空格有几种方法:
%20(space)
、%09(tab)
使用
<
或者<>
来绕过空格cat<a.txt
花括号扩展{OS_COMMAND,ARGUMENT}
{cat,/etc/passwd}
$IFS 空格绕过
$IFS$9
${IFS}
变量控制
X=$'cat\x09./flag.php
这里也稍微学习了一下$IFS
是什么。
$IFS
为内部域分隔符,在默认情况下可以表示空格,也可以自定义为换行符、Tab或者其他奇怪的符号。通常有这几种利用的方式:
这里绕过方式:
然后发现flag被过滤了,但是index.php没有被过滤,利用命令执行读取index.php源码:
方式一:内联执行
利用字符串拼接,调换一下字符顺序,绕过过滤。
方式二:sh,bash下编码
利用base64绕过过滤。
Last updated