第一次见这种方法,所以记录一下
进入靶场
查看源码
知道了我们是往code传参,然后system执行代码
但是我在执行一些代码的时候,并不会回显,应该是被禁了。
这里使用了linux系统变量构成命令来执行的方法
我们要构造nl命令来查看flag
看题目给的hint
貌似是想说可以用的命令
假如
${PATH} 为abcdef
那么
${PATH:3} def
${PATH:~0} f
${PATH:~A} f //A是字符串转换为数字为0
所以我们可以通过
${PATH:~A}构造出'n' //因为他把数字禁了
又因为${PWD}为当前目录
当前目录大概率为/var/www/html
最后一个字符为l
所以可以构造出'l'
又因为hint中flag在flag.php
所以
payload:
${PATH:~A}${PWD:~A}$IFS????.???
$IFS为linux的空格
?为通配符