php反序列化漏洞 freebuf,DiscuzX 3.4 Phar反序列化漏洞

0x1 前情提要

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

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

70cfc405c195c7aa1e7002365daac94a.png

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

0x2 漏洞分析

/source/module/forum/forum_attachment.php

9830872d1d6bf48a73c578bdff7cc325.png

d46ca5b7fad5a8b5aaeb0588598ffb2a.png

0x3 漏洞测试

登陆后台配置远程附件并开启隐藏真实路径

30ec57cc29eadf929d90db7fa9ff3012.png

918f8a1b30d2b6cd11f955d8a0bb3970.png还需要开启附件缩略图功能

be94f4f242d15ae7feb8504fa7405ba3.png满足以上条件即可测试,在前台发帖并上传一个大于400*400的图片附件,注意是附件不是图片。

9e1b9ae70ff1b6e1e2b330f19da96118.png上传完成之后发帖会得到上图这样的链接

d7a998bd9ed69099c6c2ec34ca2432c1.png

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

0620883d7be139ac561573c4c6333591.png

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

7c7aa83fb4e1937459838d512e159c3e.png

3579502ea25294969818b2fb8a00466d.png

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

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

6ad3ab285629e788c95efcdb91900319.png

payload 类是我自己写的为了方便测试我在/source/module/forum/forum_attachment.php加了一个payload类,测试看看有没有执行成功。

c53d209148db6449d1b6a0364e1dd7be.png

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

bacf8fcd34a7a53907c668ddcffc3d78.png

9585e60f769f21c6dcddf7d914dafbfb.png

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

06a108e4c14b0a6bb47bbc020857027d.png

6e4e924fedbdb94b288b2c4c538e46b8.png再访问之前的url

5e6a4cd51b7fa425ef550d4bdfeb4163.png

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值