漏洞概要
关注数(24)
关注此漏洞
漏洞标题:去哪儿任意文件读取(基本可重构该系统原工程)
提交时间:2012-05-19 22:09
修复时间:2012-07-03 22:10
公开时间:2012-07-03 22:10
漏洞类型:系统/服务运维配置不当
危害等级:高
自评Rank:12
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2012-05-19: 细节已通知厂商并且等待厂商处理中
2012-05-19: 厂商已经确认,细节仅向厂商公开
2012-05-29: 细节向核心白帽子及相关领域专家公开
2012-06-08: 细节向普通白帽子公开
2012-06-18: 细节向实习白帽子公开
2012-07-03: 细节向公众公开
简要描述:
配置失误导致任意文件读取(除了web容器能解析的脚本文件类型!)。
详细说明:
看这个漏洞(以后不要忽视小问题哦!): WooYun: 去哪儿网某分站SVN信息泄露 (核心的优势体现出来了!^-^)
(@xsser 这样不算是重复提交同一个问题吧?也算是发现新危害了(每个人的认识是不一样的),十天了漏洞还未修复。)
可读取到WEB-INF目录下文件,那么这个系统结构基本就明朗了(同时分层结构的缺点也体现出来了!)
先读取Tomcat容器的web.xml(因为你们网站web服务器架构基本都是Nginx + Tomcat),以便了解应用框架类型及结构:
http://affiliate.qunar.com/affiliate/WEB-INF/web.xml
里面一共有两个struts1的配置文件:
/WEB-INF/struts-config.xml,/WEB-INF/struts-front-config.xml
一个是管理应用的配置文件;另一个用户应用的配置文件
只看管理应用的配置文件:struts-config.xml,这样我们就可以遍历所有的class文件了,找到登录Action的class文件(所以重构这个小应用系统就轻松加愉快了!
Action(反编译)、DTO(配置文件中字段及反编译dto类均可获得,)、DAO(不喜欢用hibernate,可自己写jdbc)整个工程就出来了!哈哈!
):
http://affiliate.qunar.com/affiliate/WEB-INF/struts-config.xml
下载该类文件并反编译:
http://affiliate.qunar.com/affiliate/WEB-INF/classes/com/qunar/affiliate/actions/LogonAction.class
然后,找到UserController这个类文件并反编译,得到了惊喜:
调试用的两个管理员帐号都在里面,未去掉!
进入去哪儿联盟推广管理页面,只看图,危害自己看:
http://affiliate.qunar.com/affiliate/logon.jsp
(这要是拿去挂点什么就挣了!开个玩笑!)
我们继续!
同时又发现了这行代码,数据层用的是hibernate框架:
那数据库配置就暴露了,根据通常hibernate配置文件位置习惯找到了它:
http://affiliate.qunar.com/affiliate/WEB-INF/classes/hibernate.cfg.xml
不过数据连接域名指向的是内网,让哥失望了:
没什么技巧,不了解j2ee体系的可以普及一下!
漏洞证明:
另外,附带几处小问题:
1、页面访问权限控制问题
http://u.qunar.com/left.jsp
http://u.qunar.com/direct/regUnion.jsp
2、又一处test站长弱口令:
test test
3、一处js回调时xss
修复方案:
发现你们应用层的安全问题很严重(整体安全架构相对还可以),开发及维护人员都要普及一下安全意识!
这次准备送什么礼物了(上次听说有别的东西送的)?
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2012-05-19 22:26
厂商回复:
非常感谢,我们会尽快处理。
最新状态:
暂无
漏洞评价:
评论
-
2012-05-29 15:11 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2012-05-29 15:18 |
shine ( 普通白帽子 | Rank:831 漏洞数:77 | coder)
-
2012-05-29 16:47 |
zeracker ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
-
2012-06-20 15:16 |
possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)
@shine 很好呀 膜拜一下 能否求大神科普 http://affiliate.qunar.com/affiliate/WEB-INF/struts-config.xml 这种配置文件,一般是不能访问的是不是Nginx + Tomcat 才会导致这个问题?需要怎么配置呢
-
2012-06-23 23:47 |
shine ( 普通白帽子 | Rank:831 漏洞数:77 | coder)
@possible 一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx 配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引擎(Nginx不是jsp引擎)导致的安全问题而引入到自身的安全规范中来(这样耦合性太高了),修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~ ^/WEB-INF/* { deny all; } 或者return 404;或者其他!
-
2012-06-25 09:10 |
possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)
@shine 哦 原来如此 谢谢大神指点 有时间配置一下
-
2012-08-27 18:02 |
咖啡 ( 实习白帽子 | Rank:48 漏洞数:20 )
-
2012-08-27 18:08 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
乌云这里是不是也要加个感谢啊 我想感谢这个知识点啊
-
2012-09-20 17:15 |
neal ( 普通白帽子 | Rank:219 漏洞数:23 )
-
2012-09-21 10:28 |
Vty ( 普通白帽子 | Rank:199 漏洞数:37 )
-
2012-11-23 22:26 |
猴子 ( 路人 | Rank:19 漏洞数:5 | 我是一只骚猴子)
-
2012-12-06 20:35 |
softbug ( 实习白帽子 | Rank:66 漏洞数:10 | 为人类设计最好的软件,解放人的双手,一起...)
-
2012-12-18 09:24 |
凤凰 ( 路人 | Rank:15 漏洞数:6 | 涅磐)
-
2012-12-18 15:57 |
ccccshq ( 路人 | Rank:1 漏洞数:2 | 一个热爱编程,热爱网络,热爱生活的IT民工)
-
2013-03-19 17:37 |
慕林 ( 路人 | Rank:16 漏洞数:1 | 好钻研, 爱安全)
-
2013-04-27 15:51 |
慕林 ( 路人 | Rank:16 漏洞数:1 | 好钻研, 爱安全)
分层结构的缺点也体现出来。 缺点是怎样的?是怎么体现出来的?
-
2013-10-22 15:20 |
luwikes ( 普通白帽子 | Rank:512 漏洞数:77 | 潜心学习~~~)
-
2014-04-11 16:28 |
小贱人 ( 路人 | Rank:4 漏洞数:3 | 资深菜鸟,)