漏洞概要
关注数(24)
关注此漏洞
漏洞标题:微软ASP拒绝服务漏洞
相关厂商:微软
提交时间:2011-02-24 12:12
修复时间:2011-03-26 15:00
公开时间:2011-03-26 15:00
漏洞类型:设计错误/逻辑缺陷
危害等级:中
自评Rank:10
漏洞状态:未联系到厂商或者厂商积极忽略
Tags标签:
无
漏洞详情
披露状态:
2011-02-24: 积极联系厂商并且等待厂商认领中,细节不对外公开
2011-03-26: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
加入容错语句的程序一旦发生非致命性错误,可能导致某些变量被异常赋值。当某种条件满足时,程序会产生死循环,占用大量系统资源直至脚本超时,此间会产生拒绝服务的现象。
详细说明:
一段演示代码:
正常情况下提交参数id=1,返回正常:
当前指针指向一个存在的记录,所以它既没在数据集的开头也没在结尾,所以此时的返回结果是正常的。但是如果提交错误的参数强制数据查询报错,那么将会是另外一种情形。
在看结果前我们先了解一下如何使数据库查询出错,以上诉代码为例:
提交单引号,不过防注入措施可能将其过滤
提交空数据,不对id赋值,直接访问search.asp
如果是MSSQL,可以提交注释符“--”试试。
本例为数字型查询,因此通过提交字符串可使其运行出错:
在代码中加入On errot resume next这条容错语句。再次访问,发现四个数据集变量被异常赋值:
这样的异常赋值可能导致程序陷入死循环。去掉代码中的注释,可以看出死循环的的效果:
它大量的占用了系统资源
经过测试,本程序与所用数据库无关。
漏洞证明:
demo:下载这个图片,用rar打开
如有问题,可联系本人邮箱
修复方案:
版权声明:转载请注明来源 爱梅小礼@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝
漏洞Rank:5 (WooYun评价)
漏洞评价:
评论
-
2011-02-25 17:04 |
蚊虫 ( 实习白帽子 | Rank:36 漏洞数:12 | 我装逼这么牛可还是没妞喜欢我)
response.Redirect"t.asp"/t.asp为当前页/这样也可以使服务器处理器占用100%/asp的许多地方都考虑不足
-
2011-03-26 18:09 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2011-11-26 00:05 |
tpu01yzx ( 实习白帽子 | Rank:58 漏洞数:8 | test)
这个完全就是你的代码写得有问题……这就好比有些人喜欢用for(;;);来做死循环一样,是个人的代码问题,与脚本语言以及系统组件无关。
-
2011-12-07 10:19 |
piaoye ( 普通白帽子 | Rank:343 漏洞数:53 | ww)
代码问题,还有就是asp内置组建有timeout选项,一旦超时就停止执行
-
2014-11-19 13:54 |
快到碗裏來 ( 路人 | Rank:6 漏洞数:4 | 這傢伙很懶,什麼也沒有留下!)