DiscuzX 3.4 Phar反序列化漏洞

Posted 黑客工具箱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DiscuzX 3.4 Phar反序列化漏洞相关的知识,希望对你有一定的参考价值。

0x1 前情提要

DiscuzX的反序列化比较鸡肋,没有任何可利用的点,只能算一个bug。

刚看到一片文章,就是在对phar文件进行操作的时候可以导致反序列化,然后我就对php内置函数进行了测试,发现80%的常用文件操作都能导致触发phar的反序列化,我一共测试了如下函数,都可以触发。

下面我就下了discuz的代码看看有没有什么能触发反序列化的点,还真给我找到了。

0x2 漏洞分析

/source/module/forum/forum_attachment.php

DiscuzX 3.4 Phar反序列化漏洞

DiscuzX 3.4 Phar反序列化漏洞

0x3 漏洞测试

登陆后台配置远程附件并开启隐藏真实路径
DiscuzX 3.4 Phar反序列化漏洞

DiscuzX 3.4 Phar反序列化漏洞
还需要开启附件缩略图功能
DiscuzX 3.4 Phar反序列化漏洞
满足以上条件即可测试,在前台发帖并上传一个大于400*400的图片附件,注意是附件不是图片。
DiscuzX 3.4 Phar反序列化漏洞
上传完成之后发帖会得到上图这样的链接

DiscuzX 3.4 Phar反序列化漏洞

这个时候需要把nothumb=yes去掉,访问

DiscuzX 3.4 Phar反序列化漏洞

我为了方便测试,输出了url信息

DiscuzX 3.4 Phar反序列化漏洞

DiscuzX 3.4 Phar反序列化漏洞

可以看到前面的2222正是我们设置的路径

然后利用以下脚本生成一个phar包,

DiscuzX 3.4 Phar反序列化漏洞

payload 类是我自己写的为了方便测试
我在/source/module/forum/forum_attachment.php加了一个payload类,测试看看有没有执行成功。
DiscuzX 3.4 Phar反序列化漏洞

然后通过运营-》站点广告-
添加一个新的广告,把之前生成的phar修改成jpg上传上去,并拿到路径
DiscuzX 3.4 Phar反序列化漏洞

DiscuzX 3.4 Phar反序列化漏洞

然后再打开远程附件,修改远程访问url为

DiscuzX 3.4 Phar反序列化漏洞

DiscuzX 3.4 Phar反序列化漏洞
再访问之前的url


你会发现反序列化已经触发了,下面离getshell只差一个好利用的点了。

参考
从php反序列化到phar文件 https://paper.tuisec.win/detail/f93995fffa99f40



以上是关于DiscuzX 3.4 Phar反序列化漏洞的主要内容,如果未能解决你的问题,请参考以下文章

浅析phar反序列化漏洞攻击及实战

浅析phar反序列化漏洞攻击及实战

php 反序列化漏洞之phar://

利用 phar 拓展 php 反序列化漏洞攻击面

Phar反序列化漏洞原理

深入理解PHP Phar反序列化漏洞原理及利用方法