Oracle padding эксплуатирует - как он загружает web.config?

Я знаю, что на SO уже есть несколько вопросов об эксплойте с заполнением оракула, но ни один из них не объясняет, как он загружает web.config. Я запускаю несколько приложений ASP .NET, которые я уже тестировал, используя рекомендованные Microsoft факторы смягчения, но я все еще боюсь, что люди смогут получить web.config.

Может кто-нибудь объяснить, как они это делают, или даже дать ссылку на инструмент, с помощью которого я могу протестировать свой сайт. Я считаю, что официальное объяснение этой части нападения действительно отсутствует.

Атака, показанная в открытом доступе, основана на функции ASP .NET, которая позволяет загружать файлы (обычно javascript и css) и которая защищена ключом, который отправляется как часть запроса. К сожалению, если вы можете подделать ключ, вы можете использовать эту функцию для загрузки файла web.config приложения (но не файлов вне приложения).

6 ответов

Ребята - ответ таков: как только они получили machineKey, они могут использовать этот ключ для извлечения файлов, используя другую функцию в ASP.NET.

"В ASP.NET 3.5 с пакетом обновления 1 и ASP.NET 4.0 есть функция, которая используется для обслуживания файлов из приложения. Эта функция обычно защищена ключом компьютера. Однако, если ключ компьютера скомпрометирован, эта функция скомпрометировано. Это относится непосредственно к ASP.NET, а не к IIS, поэтому параметры безопасности IIS не применяются. После взлома этой функции злоумышленник может загружать файлы из вашего приложения, включая файл web.config, который часто содержит пароли.

Версии ASP.NET до ASP.NET 3.5 с пакетом обновления 1 (SP1) не имеют этой функции, но по-прежнему уязвимы для атаки ключа основного компьютера ".

(см. сообщение внизу здесь: http://forums.asp.net/t/1603799.aspx от команды asp.net)

Следующий пост может быть интересен для этой темы:

http://blog.mindedsecurity.com/2010/10/breaking-net-encryption-with-or-without.html

Афаик это выглядит так:

  • это хит: webresource.axd и scriptresource.axd, оба используют зашифрованное / подписанное значение, которое asp.net пытается проверить, действительно ли это
  • из-за различий в ответах, когда файлы являются недействительными, они могут выполнить атаку заполнения.
  • Как только атака будет успешной, они могут сгенерировать запрос на ресурсы, как если бы он был изначально отправлен с asp.net.

Теперь, насколько я знал, оба они должны обслуживать встроенные ресурсы, но я полагаю, что это не так (Скотт Гу упоминал в своих постах, что они использовались в атаке, которую показали).

У Скотта Гатри есть пост, который объясняет это в некоторой степени.

К вашему сведению, патч для этой ошибки был выпущен в Центре обновления Windows.

http://weblogs.asp.net/scottgu/archive/2010/09/30/asp-net-security-fix-now-on-windows-update.aspx

Другие вопросы по тегам