我试图在应用程序开始读取请求的输入之前执行aditional验证,根据头和表单数据或类似的东西来结束可疑请求。在Application_BeginRequest之前验证请求?
有没有可能?
[更新]
我聚焦防止由ASP .NET验证的BeginRequest和ins't抓之前发生的零日vunerability。
如果我可以控制创建HttpWebRequest对象,我可以检测到这种攻击。
[解决]
它可以使用本机模块来解决。
有关创建本机模块的信息可以在这里找到(用C++): http://learn.iis.net/page.aspx/169/develop-a-native-cc-module-for-iis/
零日漏洞我是说在这个博客帖子描述: http://blogs.technet.com/b/srd/archive/2011/12/27/more-information-about-the-december-2011-asp-net-vulnerability.aspx
我所做的修复为它(是一个预发布,不适合生产),可以在GitHub上找到:https://github.com/ginx/HashCollisionDetector
感谢您的所有帮助。
它看起来像你的解决方案仍使用BeginRequest事件,没错,就是从管理的本机代码,而不是? – RickNZ 2012-01-07 11:45:10
我使用它,但我正在处理的问题发生在ASP.net处理程序中,导致所有服务器中出现DoS。 本机处理程序,我得到原始请求,所以,问题在那里还没有发生。 微软已经修复了这个错误,所以它不再发生了。 – LawfulHacker 2012-01-17 15:55:02