uqcms的后台GetShell和前台越权删除他人图片

  • A+
所属分类:颓废's Blog
摘要

qucms是一个B2B2C多商户电商系统 结合多年的电商开发经验推出B2B2C多店铺系统,是目前国内最优秀的电商平台之一,系统设计为“平台自营+供应商入驻”的电商运营模式,系统支持佣金结算、区域团购、实时物流、售后服务等基础功能;为电商运营商提供最优质的系统和服务。 该程序采用非常流行的PHP作为开发语言,给很多广大开发者一个容易上手,能快速进入业务,成熟的语言架构,去除无用直达高效的设计,给企业快速开发,赢的市场。


qucms是一个B2B2C多商户电商系统

结合多年的电商开发经验推出B2B2C多店铺系统,是目前国内最优秀的电商平台之一,系统设计为“平台自营+供应商入驻”的电商运营模式,系统支持佣金结算、区域团购、实时物流、售后服务等基础功能;为电商运营商提供最优质的系统和服务。 该程序采用非常流行的PHP作为开发语言,给很多广大开发者一个容易上手,能快速进入业务,成熟的语言架构,去除无用直达高效的设计,给企业快速开发,赢的市场。

1. 后台GETSHELL

打开URLwww.yousite.xxx?m=template后,呈现这个页面:
uqcms的后台GetShell和前台越权删除他人图片
点击进入目录

uqcms的后台GetShell和前台越权删除他人图片
随便点击一个编辑,然后用Burp抓包( 用不用都可以 )

uqcms的后台GetShell和前台越权删除他人图片
单击提交后用Burp抓包,抓到的数据如下图

uqcms的后台GetShell和前台越权删除他人图片
我们将filename修改为phpinfo.php,把content修改为<?php phpinfo();?>

uqcms的后台GetShell和前台越权删除他人图片

修改后的数据包:

然后就会在根目录创建一个名为phpinfo.php的文件,并且内容为<?php phpinfo();?>

uqcms的后台GetShell和前台越权删除他人图片

访问phpinfo.php文件,完成GETSHELL:
uqcms的后台GetShell和前台越权删除他人图片

漏洞代码处:

uqcms的后台GetShell和前台越权删除他人图片

public function save() {

   
        if ($_POST) {             $file = P('filename', '修改的文件名不能为空');             $content = P('content');             $query = file_put_contents($file, stripslashes_deep($content));              if ($query) {                 right_json();             } else {                 error_json('保存失败');             }         } else {             error_json('提交错误');         }     }
加上这三段代码,便于调试:

uqcms的后台GetShell和前台越权删除他人图片

Burp抓的包放到Repeater( 按住ctrl+r )模块里

uqcms的后台GetShell和前台越权删除他人图片
file_put_contents的返回值是第二个参数的长度

这里因为没有做任何过滤,所以这里导致了任意文件写入漏洞

前台任意删除他人图片:

漏洞处:

  1. 进入商家登陆
    uqcms的后台GetShell和前台越权删除他人图片

  2. 登陆后,单击装修
    uqcms的后台GetShell和前台越权删除他人图片

  3. 点击相册列表,并且上传图片
    uqcms的后台GetShell和前台越权删除他人图片

漏洞讲解开始

首先选择这个ID为1566的那张图片点击删除,并且用Burp进行抓包:
uqcms的后台GetShell和前台越权删除他人图片

我们首先随便输入一下错误的语法( 方便看到他的执行了什么语句 ):
uqcms的后台GetShell和前台越权删除他人图片

可以看到他执行的SQL语句是:

1 
select id,shop_id,url from uq_album where shop_id = 4 and id = 1566 or xxxx #查询uq_album表中条件为shop_id=4id=1566id和shop_id和url 

uqcms的后台GetShell和前台越权删除他人图片

我们现在身为test2想把test1的图片删了,那么我们就构造一下sql语句~

1 
select id,shop_id,url from uq_album where shop_id = 4 and id = 1566 or shop_id in (5) 

uqcms的后台GetShell和前台越权删除他人图片

可以看见这里有3条数据被展现出来了,也就是test2上传的图片
uqcms的后台GetShell和前台越权删除他人图片

然后我们开始执行一下这个构造的SQL语句:
uqcms的后台GetShell和前台越权删除他人图片

然后我们发现那3条数据就没了:
uqcms的后台GetShell和前台越权删除他人图片

代码处:

下次补~~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: