Продукты «Хакера»

  • Свежий печатный выпуск

    Свежий печатный выпуск

    20+ лучших статей квартала. 240 страниц

    2000 ₽ + доставка СДЭК

    Заказать журнал
  • Годовая подписка на Xakep.ru -40%, успей сэкономить!

    Годовая подписка на Xakep.ru

    Полный доступ к крутым статьям и архиву

    6000 ₽ / год

    Подписаться
  • Вход в тему пентеста от Хакера

    Вход в тему пентеста от Хакера

    Статьи, видеоуроки и задачи. Разработано Хакером

    7000 ₽ - доступ навсегда

    Купить курс
  • Спецвыпуск Хакера  №4. Лучшее за 2021-2022

    Спецвыпуск Хакера №4. Лучшее за 2021-2022

    22 статьи. 240 страниц. Автоматизируем Burp +

    2000 ₽ + доставка СДЭК

    Заказать журнал

Microsoft IIS поддерживает функцию SSI (Server Side Include). IIS используют ssinc.dll как SSI интерпретатор. По умолчанию ssinc.dll установлен в IIS как интерпретатор файлов с расширениями .stm, .shtm и .shtml. 

SSI поддерживает директиву "#include", главным образом,
в такой форме: 

<!--#include file="Filename"-->

При обработке "#include", ssinc.dll проверяет имя каталога, в котором находится .shtml файл, затем добавляет в конец этот файл и формирует новый путь. 

При получении включенного имени файла от
test.shtml ssinc.dll проверяет длину этого файла. В случае, если она больше чем 0x801 байт, ssinc.dll, обрезает его до 0x801 байт и добавляет 'в конце '\0'. Таким образом, включающееся имя файла (включая '\0 ') будет не больше чем 0x802 (2550) байт. Но, как оказалось, ssinc.dll не проверяет длину новой строки, содержащей путь, который добавляется в конец имени текущего каталога. Таким образом, можно вызвать переполнение буфера. Так как ssinc.dll выполняется с системными привилегиями, то у удаленного нападающего появляется возможность выполнить произвольный код с системными правами.

Чтобы эксплуатировать уязвимость, нападающий нуждается в выполнении двух условий:

1. Возможность создать файл или каталог в web директории. 
2. Способность обращаться к созданному файлу через web службу.

Exploit:

1. Создайте файл "test.shtml" со следующим содержанием: 
<!--#include file="AAAA[...]AA"-->
Количество 'A' должно быть больше, чем 2049.

2. Создайте каталог "a" под каталогом Web. Копируйте "test.shtml" в "a" каталог. 
3. Запросите "test.shtml" через web-браузер: http: //
webhost/a/test.shtml 
4. IIS возвращает пустую страницу, которая указывает, что произошло переполнение. 

Для устранения уязвимости скачайте патч:

Microsoft IIS 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=32061
Microsoft IIS 5.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=32011

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии