漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2011-01413
漏洞标题:微软ASP拒绝服务漏洞
相关厂商:微软
漏洞作者: 爱梅小礼
提交时间:2011-02-24 12:12
修复时间:2011-03-26 15:00
公开时间:2011-03-26 15:00
漏洞类型:设计错误/逻辑缺陷
危害等级:中
自评Rank:10
漏洞状态:未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2011-02-24: 积极联系厂商并且等待厂商认领中,细节不对外公开
2011-03-26: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
加入容错语句的程序一旦发生非致命性错误,可能导致某些变量被异常赋值。当某种条件满足时,程序会产生死循环,占用大量系统资源直至脚本超时,此间会产生拒绝服务的现象。
详细说明:
一段演示代码:
正常情况下提交参数id=1,返回正常:
当前指针指向一个存在的记录,所以它既没在数据集的开头也没在结尾,所以此时的返回结果是正常的。但是如果提交错误的参数强制数据查询报错,那么将会是另外一种情形。
在看结果前我们先了解一下如何使数据库查询出错,以上诉代码为例:
提交单引号,不过防注入措施可能将其过滤
提交空数据,不对id赋值,直接访问search.asp
如果是MSSQL,可以提交注释符“--”试试。
本例为数字型查询,因此通过提交字符串可使其运行出错:
在代码中加入On errot resume next这条容错语句。再次访问,发现四个数据集变量被异常赋值:
这样的异常赋值可能导致程序陷入死循环。去掉代码中的注释,可以看出死循环的的效果:
它大量的占用了系统资源
经过测试,本程序与所用数据库无关。
漏洞证明:
修复方案:
严格校验输入参数
版权声明:转载请注明来源 爱梅小礼@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝
漏洞Rank:5 (WooYun评价)