漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-088907
漏洞标题:易车网第二弹之多种姿势拿下CDN管理系统
相关厂商:易车
漏洞作者: plane636
提交时间:2014-12-27 16:03
修复时间:2015-02-10 16:04
公开时间:2015-02-10 16:04
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-12-27: 细节已通知厂商并且等待厂商处理中
2014-12-29: 厂商已经确认,细节仅向厂商公开
2015-01-08: 细节向核心白帽子及相关领域专家公开
2015-01-18: 细节向普通白帽子公开
2015-01-28: 细节向实习白帽子公开
2015-02-10: 细节向公众公开
简要描述:
漏洞如此之多,让我产生了这是个蜜罐的错觉。CDN管理系统重要性不必多说。
详细说明:
上一弹发的是易车网数十台CDN节点rsync未授权访问,乍看之下rsync目录里都是一些squid日志和配置文件之类的东西,没什么能直接利用的。
但是某个日志文件里发现了如下内容:
先上去看看url是什么再说
wow,cdn的后台管理。但是现在账号密码都没有,rsync得到的信息也只有个url。先扫下端口,看看有没有突破口,可惜只开了80,只能从web端解决了。
继续翻看url,发现php目录存在能够列目录。
翻来翻去,都是些看不了内容的php文件,好不容易发现一处rar压缩包,打开看看。
里面就两个php文件
好吧坑爹,网站目录下就没有这两个文件。但是源码里面的内容还是引起了我的注意:
几处post的参数没有处理就拼接进sql语句中了。这样看来网站存在注入的可能性就很大了。前台只有登陆,先在登陆试试注入吧。
用户名构造如下语句:
竟然进来了。。。这种万能密码好久没碰见过了
sqlmap也能跑出来
在后台测试的过程中发现一个问题
发现什么问题了吗?cookie里面只有用户名,没有session。。。。这是否意味着我们无需密码只要设置一下cookie就可以了呢?
2333333又成功了。
现在洞主已经对这个系统的验证机制产生深刻的怀疑了,我们去登陆界面悄悄它是怎么验证的。
翻看登陆页面的源代码,看到这段js的时候洞主惊呆了:
竟在在客户端做的校验,这段代码的意思就是将用户名和密码发送到服务器端,如果匹配服务器将返回值“true”;若收到“true”则将用户名写入到cookie中并跳转到后台页面。这样的话我们只要将response改成true不就能登陆系统了吗。来验证下。
在fiddler命令行中输入命令bpafter 59.151.127.48 设置response断点,然后提交一个错误的用户密码,此刻我们返回的是一个错误信息。
改成‘true’试试.走你
后台君我们又见面了
此刻我又有了一个想法,既然登陆的验证是客户端做的,那么后台页面对用户的验证是不是也是在客户端呢。
果然在后台页面找到这样一处脚本,也验证了之前仅检测cookie用户名的说法。这样我们干掉此处js然后自己构造脚本也是可行的,不过有点多此一举就不赘述了。
验证这块已经挖掘的差不多了,还有别的姿势能进入这个系统吗,当然有!
本想通过注入获得点东西,但这个系统sqlmap跑出来是基于时间注入,获取数据老出错,数据库账号权限也有限,不从这下手了。后台有个用户管理,就在我通过列目录查看相关的文件时,点开了后台获取系统账号信息的php链接:
卧槽,全部账号和md5都出来了,也不是什么强口令,google一下都能找到。当然,这里无需登录也是能获取到的。
漏洞证明:
修复方案:
要从系统架构完全重练了。
版权声明:转载请注明来源 plane636@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2014-12-29 11:40
厂商回复:
非常感谢提供的漏洞信息,我们会尽快进行处理
最新状态:
2014-12-30:漏洞已经修复,非常感谢给易车的帮助