Я пытаюсь выполнить дополнительную проверку, прежде чем приложение начнет считывать ввод запроса, чтобы закрыть подозрительный запрос на основе заголовков и данных формы или что-то в этом роде.Подтвердить запрос перед Application_BeginRequest?
Возможно ли это?
[Update]
Я сосредоточен в предотвратить нулевой день vunerability, что происходит до того BeginRequest и ins't улова проверки ASP .NET.
Если бы я мог контролировать создание объекта 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
Я использую его, но проблема, с которой я обращалась, произошла в обработчике ASP.net, вызвав DoS на всех серверах. Собственный обработчик, я получаю необработанный запрос, поэтому проблемы еще не произошло. Microsoft уже исправила ошибку, так что этого больше не происходит. – LawfulHacker