$query = $_SERVER['QUERY_STRING'];
if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){
die('Y0u are So cutE!');
}
if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){
echo "you are going to the next ~";
}
传参总会有_
利用php字符串解析特性bypass
php在解析变量名的时候会把+,%20,*,{,[解析为_
绕过preg_match 使用%0a换行符占位 23333%0a
fuckjs代码,在console运行 得到提示
使用Cilent-ip为请求ip
file_get_contents($_GET[‘2333’])
file_get_contents() 函数把整个文件读入一个字符串中。
代码中用单引号和===强比较 字符串
使用data://text/plain;base64,
change反推