youdiancms(友点cms)漏洞

前言

在近期的授权项目中,遇到了一个目标,使用了youdiancms,需要获取权限,进而进行审计,本次代码审计过程先发现SQL注入漏洞,继续审计发现getshell的漏洞,本文将本次审计过程书写下来,仅作为学习研究,请勿用作非法用途。

0x01 未授权SQL注入

首先拿到源码一看,发现该系统是基于THINKPHP3开发的。

App/Lib/Action/HomeBaseAction.class.php:16

image-20210514153103940

cookie可控,然后赋值给了$this->_fromUser

跟踪一下$this->_fromUser的引用。

App/Lib/Action/Home/ChannelAction.class.php:732

image-20210514152830011

这里将$this->_fromUser带入到了hasVoted函数中,跟进该函数:

image-20210514152908218

很明显,TP3的where注入。

延时注入payload如下:

  
  
  1. GET /index.php/Channel/voteAdd HTTP/1.1
  2. Host: localhost
  3. Content-Length: 2
  4. Accept: application/json, text/javascript, */*; q=0.01
  5. X-Requested-With: XMLHttpRequest
  6. Accept-Encoding: gzip, deflate
  7. Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
  8. Cookie: youdianfu[0]=exp;youdianfu[1]==(select 1 from(select sleep(3))a)
  9. Connection: close

0x02 绕过登录到getshell过程

0x0201 流程思路

  1. 验证码处可以设置任意session

  2. 碰撞md5让AdminGroupID==1(超级管理员)

  3. 后台修改模板插入phpcode实现代码执行

0x0x202 任意session设置

App/Lib/Action/BaseAction.class.php:223

img

这个函数挺有意思的,本来是个生成验证码的操作,但是没想到所有的参数都是用户可以控制的,特别是这个$verifyName还可控。跟进buildImageVerify看看如何设置的session

img

红框处设置了session,并且session的键名我们是可控的,但是值不可控,是个md5值。

然后我们去看看管理员的校验函数。在App/Lib/Action/AdminBaseAction.class.php:7

img

起作用的就两个函数,isLogincheckPurview。跟进第一个看看:

img

这个函数很简单,就简单的判断session是否存在,我们可以通过上文的验证码函数来设置。

然后就是checkPurview函数。

img

这里判断了AdminGroupID的值,当等于1的时候就是超级管理员,由于这里是个弱类型比较。所以上文设置session中的md5是可以碰撞的。

编写脚本得到超级管理员的session了,然后登录。

img

0x0203 后台getshell

后台模板管理,可以修改模板,但是对<?php有检测,如图所示:

img

我们可以用<?=?>来绕过这个检测。

如图所示:

img

访问首页即可触发:

img

注:zc.cn为本地127.0.0.1的地址,并非zc.cn的域名

YouDianCMS友点企业网站管理系统集电脑站+手机站+微信站+APP+小程序五合一,数据自动同步,降低人力维护成本;共用一个管理后台,只要一个虚拟主机,有效节约空间投资。系统采用开源技术PHP+MYSQL开发,开源且具有操作简单、功能强大、稳定性好、易扩展、安全性强、维护方便、兼容性好等特,可帮您快速构建一个强大专业的企业网站。系统支持多语言轻松打造国际站、自定义模型、支持网站模板换肤、内置SEO优化功能、静态页、评论留言、购物车、在线支付、优惠券、积分、三级分销、订单管理、会员、数据采集、短信接口、插件应用商店、广告等企业网站基本功能。运行环境:PHP5.3/5.4/5.5/5.6/7.0/7.1/7.2/7.3 + MYSQL。 运行环境: 操作系统:跨平台,支持Windows、Unix、Linux等操作系统 WEB服务器:IIS/APACHE/NGINX等 PHP环境:PHP5.3-8.0 数据库:MYSQL5.0-8.0 产品特: 1、完全开源:系统采用开源技术PHP+MYSQL开发,安全、成本低、性价比高、方便安装(全面支持PHP的最新版本)、功能不受限制、使用灵活;全面开放系统前端+后台的源代码,解除了开发者和用户的后顾之忧,完全支持二次开发,没有预留后门,代码使用权自己轻松掌握 2、五站合一:电脑站、手机站、微信、APP、小程序五站合一,共用空间,数据同步,不用维护多个端口数据,一个后台就搞定 3、系统跨平台:Unix/Linux+windows,支持跨平台安装,一键备份轻松搞定网站迁移 支持扩展插件,功能可以无限扩展:系统后台插件应用商店集成了功能强大的免费插件:包含数据采集、三级分销、七牛云存储、邮件群发、图像批量处理等 4、内置网站优化功能SEO优化:系统后台可以设置伪静态、设置HTML静态缓存策略、搜索引擎优化设置、常用搜索引擎登录入口、生成网站地图、生成关键词内链、百度自动推送 5、可以DIY装修模板:可视化编辑,所见即所得!可DIY装修模板,高级装修组件,还拥有非常丰富的样式选择,不用写代码,也可以装修出漂亮的网站!  功能模块: 功能列表 核心功能:电脑站、手机站、微信、APP、小程序五站合一,共用空间,数据同步;一键备份全站(备份所有程序文件、上传文件、数据库),方便网站迁移;手机站和电脑站可独立绑定一级域名、共用空间、数据同步;领先的静态HTML文件缓存策略技术,通过设置缓存时间,自动生成HTML文件,再无需手工生成HTML;内置搜索引擎优化功能,方便网站优化;内置插件,功能无限扩展 系统设置:基本设置、联系方式设置、水印设置、文件上传设置、站长统计设置、百度分享设置、缩略图设置、数据库设置、邮箱设置、语言设置、第三方登录设置、手机网站设置、其它设置等 系统管理:自定义标签管理、数据库管理、数据库还原、频道模型管理、一键备份全站、操作日志管理、网站目录权限检测、菜单管理、区域管理 内容管理:频道管理、专题管理、类型管理、信息管理(各个频道信息增删改查) 互动管理:在线客服管理、第三方在线客服管理、订单管理、配送方式管理、支付方式管理、销售统计、资金管理、积分管理、优惠券管理、留言管理、人才招聘、评论管理 广告管理:幻灯片管理、幻灯分组管理、广告内容管理、邮件群发管理、订阅邮箱管理、邮件订阅分类管理、情链接管理、情链接分类管理 会员管理:会员信息管理、会员分组管理、会员功能设置、管理员信息管理、管理员分组管理 APP管理:内置APP端支持,在后台可以查看APP安装统计、活跃度分析! 网站优化:伪静态设置(是否启用伪静态、伪静态扩展名设置)、搜索引擎优化设置(页面标题Title、页面关键词Keywords、页面描述Description)、常用搜索引擎登录入口、生成网站地图、生成关键词内链 微信平台:微信绑定设置、基本信息设置、微信自定义菜单设置、小程序设置、微信功能设置、关注自动回复、关键词自动回复、地理位置自动回复、默认自动回复、微消息、微查询、微活动、微投票、微调查、微会员卡 模板管理:电脑模板管理(在线模板安装、模板选择、模板管理、样式管理)、手机模板管理(在线模板安装、模板选择、模板管理、样式管理) 插件管理:系统支持扩展插件,内置插件有:数据采集、三级分销、七牛云存储、邮件群发、图像批量处理等,可自行开发插件,无限功能自由扩展 缓存管理:一键清除系统所有缓存、HTML静态缓存管理(缓存时间设置、一键清除网站首页/频道首页/内容页面Html静态缓存) YouDianCMS 9.2.6版 更新日志: 1、【新增】程序兼容PHP8.0 2、【优化】优化系统升级算法,更人性化 3、【优化】模板装修功能优化与增强 4、【优化】完善产品OEM功能 5、【BUG】修复部分已知BUG
友点企业网站管理系统集电脑网站、手机网站、微信三站合一,只要录入一次数据,三站数据自动同步,降低人力维护成本;共用一个管理后台,只要一个虚拟主机,有效节约空间投资。系统采用PHP进行开发,它具有操作简单、功能强大、稳定性好、易扩展、安全性强、后期维护方便等特,可以帮您迅速、轻松地构建起一个强大专业的企业网站。系统支持多语言、自定义模型、SEO优化、静态页生成、评论留言、订购、会员、广告、招聘、统计、自助表单等常见企业网站基本功能。运行环境:PHP5.2 + MYSQL5.0以上 + Zend Optimizer 3.3 一、友点企业网站管理系统YouDianCMS系统特 1)电脑站+手机站+微信三站合一 节约成本 电脑站、手机站、微信三站合一:共用一个管理后台;只要录入一次数据,三站数据自动同步,降低人力维护工作量;只要一个虚拟主机,有效节约空间投资。 2)操作简单方便 即看即懂 后台操作简单方便 ,一看即懂,无需花大量时间学习,让您更专注于企业网站运营、策划、销售等业务活动。 3)模板精心设计 兼容各主流浏览器 模板采用DIV+CSS布局,并兼容 IE6/7/8/9/10、Google Chrome、Firefox、Opera、Webkit、搜狗、360、遨游等浏览器。 4)内置SEO功能 提升网站搜索引擎排名 SEO功能包含页面标题、关键词、描述设置;搜索引擎提交;关键词内链自动生成;页面静态名称自定义;伪静态/静态;网站地图生成等功能。 5)多语言支持 轻松打造国际站 支持中文、英语、中英双语,可自行在后台设置,是外贸网站首选。 6)支持网站换肤 多套模板任意切换 系统支持安装多套网站模板,可以一键切换模板而无需重新录入网站资料,可轻松换肤。 7)自动生成HTML静态文件 减少维护量 采用先进的静态HTML缓存策略技术,通过设置一个缓存时间,可以自动生成静态HTML文件,而无需人工生成HTML,从而减少维护工作量。 8)一键备份全站 轻松完成网站迁移 系统内置一键备份全站资料和数据库功能,让非技术人员也能轻轻松松将网站从一台服务器迁移到另一台服务器。 9)可以自己动手设计模板 产品设计采用MVC模式开发,前台(模板)和后台完全分离,利用我们提供的模板标签手册,不用懂编程也可以自己动手设计和修改模板。 二、新增信网站功能 1、 关注自动回复: 关注公众号回复信息,可设置文本消息,图文消息和音乐消息 2、 关键词自动回复 3、 一键拔号 4、 一键导航 5、 地理位置回复 发送地理位置后,可查询附近的指定地的位置,如输入“附近300米酒店”即可返回附近300米酒店的信息 6、 自定义微菜单:便捷直面,随意定制,快速引导,精确定位 7、 微活动:幸运大转盘和刮刮卡 8、 微会员卡:微时代,永不挂失的会员卡,可每日签到吸引粉丝参与的积极性,可分兑换,发放优惠卷等功能 9、 微查询:如天气查询、手机归属地查询、公交换乘查询、公交查询、火车车次查询、健康指数查询、翻译、快递查询、股票查询、人品计算、周公解梦、成语词典、邮编查询、菜谱、糗事、笑话等查询 10、 微调查:无需人力,电子调查,为调研添加有力数据 11、 微投票 12、 微网站:网站栏目可自定义,与电脑站同步数据,共用后台和空间 YouDianCMS v6.8.1 PC手机微信三合一 更新日志: 1.[新增]实现微信支付功能(微信公众号支付和微信扫描支付) 2.[新增]实现QQ账号登录 3.[优化]优化支付流程,支付时,可以选择不同的支付方式 4.[修复]修改翻译时间结果的错误 5.[优化]当频道很多是,修改频道变得很慢,添加缓存机制,让其缩短为2秒内 6.[优化]优化百度翻译结果 7.[修复]数据采集规则不能保存英文版规则的问题 8.[修复]修正skype不显示图片的bug
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值