web46

查看源码,preg_match的过滤又增加了空格和$
本来我们对于空格的绕过是${IFS}
和%0a
,不过preg_match
过滤了美元符,用%09
也可以绕过preg_match
的过滤,
虽然对获取到的值有preg_match
的过滤,但是preg_match
不能过滤这种没有空格的命令,譬如ls,dir,whoami
等等,首先执行,查看当前目录底下有哪些文件
构造payload: ?c=ls&&ls
(&记得编码)

成功rce,接下来就是·获取flag,因为源码过滤了cat
指令,但是不影响我们绕过,用tac
尝试一下
