友点 CMS V9.1 后台登录绕过 GetShell

本文详细介绍了友点CMS V9.1的一个严重安全漏洞,允许攻击者无需权限登录后台并获取shell。漏洞涉及验证码session可控、弱比较授权以及后台模板修改代码执行。通过控制session参数,攻击者能绕过验证并获取管理员权限,进而利用模板修改功能执行任意代码。

声明:本公众号大部分文章来黑白之间安全团队成员的实战经验以及学习积累,文章内公布的漏洞或者脚本都来自互联网,未经授权,严禁转载。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本团队无关。

前言

友点 CMS V9.1 后台登录绕过 GetShell ,攻击者可无需任意权限即可登录后台并 getshell

漏洞影响

youdiancms <=9.1

漏洞细节

漏洞流程

  • 验证码可设置session
  • session(AdminGroupID==1) 超级管理员
  • 后台模板修改代码执行

任意 session 获取

站在前人的肩膀上,看到 App/Lib/Action/BaseAction.class.php ,217 行 verifyCode 函数

function verifyCode(){
   
   
    $length = $_GET['length'];        //长度
    $mode = $_GET['mode'];          //模式
    $type = $_GET['type'];              //图像类型
    $width = $_GET['width'];           //宽度
    $height = $_GET['height'];        //高度
    $verifyName = $_GET['verify'];  //验证码session名称
    import("ORG.Util.Image");
    Image::buildImageVerify($length, $mode, $type, $width, $height, $verifyName);
}

这是一个生成验证码的函数,可以看到,这些参数都是可控的,进入

Image::buildImageVerify($length, $mode, $type, $width, $height, $verifyName);
static function buildImageVerify($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify') {
   
   
    im
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值