前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DedeCMS的两个小trick

DedeCMS的两个小trick

作者头像
ChaMd5安全团队
发布2018-04-16 10:15:58
1.3K0
发布2018-04-16 10:15:58
举报
文章被收录于专栏:ChaMd5安全团队ChaMd5安全团队

0x00 前言

昨天晚上做了一个神奇的梦,梦到了我高中时候晚自习在偷偷的看《黑客攻防技术宝典》,当年的事情无论是苦是乐,回忆起来总是感觉非常的美好。但是,现实就是现实,梦境还是要被舍友的闹铃声打破,在大梦初醒后,我仿佛有一种“垂死梦中惊坐起”的感觉,是谁为我织出了这么美好的一个梦境?难道织梦CMS(DedeCMS)又要出0day了?于是,我立马从床上跳了下来,打开电脑,从官网下载了最新版的织梦CMS(DedeCMS V5.7 SP2正式版),心想着一定要代码审计一波带走。于是乎,就有了你现在正在阅读的这篇文章。

0x01 服务器任意(图片)文件删除漏洞

漏洞产生在文件:\member\edit_face.php

第39行的unlink() 函数引起了我的注意

函数的参数是 $cfg_basedir和$oldface

先看了一下变量 $cfg_basedir

cfg开头的变量在DedeCMS中都是一些配置参数(cfg是config缩写),一般无法控制。

看上图,$cfg_basedir是写死在配置文件中的

再看 $oldface

我全局搜索了一下,发现 $oldface 在当前文件中并没有定义,那我是否可以通过变量覆盖的方式来控制这个变量?

跟进到第九行,包含了config.php

继续跟进,在 config.php第76行包含了/include/common.inc.php

在 /include/common.inc.php中把 $_GET $_POST $_COOKIE 中的变量解析了出来。

那么 $oldface就可以用变量覆盖的方式进行赋值。

既然 $oldface 可控,那我就要研究一下有没对这个变量进行严格的过滤。

在 \member\edit_face.php 第37行,限制了文件结尾后缀名是jpg、gif、png ,这是此漏洞最大的一个限制,似乎没法绕过。

在 \member\edit_face.php 第25行,限制了这个变量必须以 $userdir 的值开头,$userdir 即为储存当前用户上传头像的文件夹,

$userdir = ‘\uploads\userup\’+ 当前用户的userid

但是这里并没有过滤点号,因此可以路径回溯绕过!

漏洞复现如下:

打开页面\member\edit_face.php

在上传文件后抓包:

如图,我在上传图片的请求包中增加一个oldface参数,指向服务器根目录的一个图片文件,发包后就能成功删除。

0x02 DedeCMS后台登录处一个小trick

首先找到后台登录验证身份处,在 /dede/login.php 第74行,调用了userLogin的checkUser方法,这个方法用来验证管理员凭证。

跟进去,到了 /dede/include/userlogin.class.php 第240行

在第248行的SQL语句中发现用户名是用 like 进行模糊查询。

而且,在245行的正则表达式中发现用户名中可以包含下划线( _ )

在取出用户名后再比较密码,若用户名与密码匹配则登录成功。

这里存在的一个问题是用户名处用 like 进行模糊查询,而且没有过滤下划线,下划线在 like 中可以用来匹配单个字符,因此,即使我不知道管理员用户名,也可以登录后台。

漏洞复现如下:

若管理员是 admin 则我在后台输入 _____ 即可登录后台(五个下滑线,与管理员用户名字节数相同)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ChaMd5安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
代码审计
代码审计(Code Audit,CA)提供通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。支持脚本类语言源码以及有内存控制类源码。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档