uqcms的后台GetShell和前台越权删除他人图片 - 颓废's Blog

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

  • 内容
  • 相关

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

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

1. 后台GETSHELL

打开URLwww.yousite.xxx?m=template后,呈现这个页面:
1.png
点击进入目录

2.png
随便点击一个编辑,然后用Burp抓包( 用不用都可以 )

3.png
单击提交后用Burp抓包,抓到的数据如下图

4.png
我们将filename修改为phpinfo.php,把content修改为<?php phpinfo();?>

5.png

修改后的数据包:

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

6.png

访问phpinfo.php文件,完成GETSHELL:
7.png

漏洞代码处:

8.png

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('提交错误');
        }
    }
加上这三段代码,便于调试:

9.png

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

10.png
file_put_contents的返回值是第二个参数的长度

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

前台任意删除他人图片:

漏洞处:

  1. 进入商家登陆
    11.png

  2. 登陆后,单击装修
    12.png

  3. 点击相册列表,并且上传图片
    13.png

漏洞讲解开始

首先选择这个ID为1566的那张图片点击删除,并且用Burp进行抓包:
14.png

我们首先随便输入一下错误的语法( 方便看到他的执行了什么语句 ):
15.png

可以看到他执行的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 

16.png

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

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

17.png

可以看见这里有3条数据被展现出来了,也就是test2上传的图片
18.png

然后我们开始执行一下这个构造的SQL语句:
19.png

然后我们发现那3条数据就没了:
20.png

代码处:

下次补~~

本文标签:

版权声明:若无特殊注明,本文皆为《iamfree》原创,转载请保留文章出处。

收录状态:[百度已收录] | [360已收录] | [搜狗已收录]

本文链接:uqcms的后台GetShell和前台越权删除他人图片 - https://www.0dayhack.com/post-856.html

严重声明:本站内容来自于互联网,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规,黑客不是骇客,黑客维护网络安全

发表评论

电子邮件地址不会被公开。 必填项已用*标注