Один из наших серверов IIS (IIS 7.5, Server 2008 R2), по-видимому, «уязвим» длятильда Краткое раскрытие имени файлапроблема.
Однако мне трудно решить эту проблему. Пока что я
Отключил имена файлов 8.3, остановил веб-сервер, пересоздал каталог сайта и снова запустил службу.
Добавлено правило фильтра для тильды в URL:
- Добавлено правило фильтра для тильды ВЕЗДЕ:
IISRESET
Пару разОтмечено, что
web.config
добавлены соответствующие правила фильтрации.
.. но все равно, я не могу заставить свой сайт пройтитест:
java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com
[...SNIP...]
Testing request method: "TRACE" with magic part: "/webresource.axd" ...
Testing request method: "DEBUG" with magic part: "" ...
Testing request method: "OPTIONS" with magic part: "" ...
Testing request method: "GET" with magic part: "" ...
Reliable request method was found = GET
Reliable magic part was found =
144 requests have been sent to the server:
<<< The target website is vulnerable! >>>
Что еще мне нужно сделать, чтобы решить эту проблему?
РЕДАКТИРОВАТЬ:вот, DIR /x
похоже, не показывает имена файлов 8.3:
а вот пул приложений для сайта (все остальные сайты на сервере такие же):
ПРАВКА2: Проверка: не осталось ни одного имени файла 8.3:
решение1
Попробуйте выполнить сканирование на предмет существующих коротких имен файлов с помощью fsutil
:
fsutil 8dot3name scan /s /v E:\inetpub\wwwroot
И разденьте их, если они будут найдены:
fsutil 8dot3name strip /s /v E:\inetpub\wwwroot
Также, глядя на лог с пустой магической частью ( magic part: ""
), я задаюсь вопросом, может ли это быть ошибкой в POC. Эта строка вconfig.xmlпохоже, что после него стоит лишняя запятая /webresource.axd
:
<entry> key="magicFinalPartList">
<![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]>
</entry>
Я спросил об этом разработчика через Twitter, и он ответил:
Так что, похоже, теперь вы в безопасности :)
решение2
также «ПРИМЕЧАНИЕ: Изменение записи реестра NtfsDisable8dot3NameCreation влияет только на файлы, папки и профили, созданные после изменения. Уже существующие файлы не затрагиваются».
Примечание: Хотя отключение создания имен файлов 8.3 увеличивает производительность файлов в Windows, некоторые приложения (16-, 32- или 64-разрядные) могут не иметь возможности находить файлы и каталоги с длинными именами.
решение3
К сожалению, единственный способ справиться с этим — это раздражающий набор циклов (в зависимости от версии Windows), отключающих возможность генерации имен 8.3.
Для вашей версии Windows:
Чтобы отключить создание имен 8.3 на всех разделах NTFS, введите fsutil.exe behavior set disable8dot3 1 в командной строке с повышенными привилегиями, а затем нажмите Enter.
Источник: http://support.microsoft.com/kb/121007
решение4
Лучшее решение приведено ниже, поскольку мы не можем выполнять демонтаж после каждого нового развертывания.
Протестируйте/просканируйте сайт на наличие уязвимостей, перейдя по ссылке ниже (установите Java и выполните команду для тестирования/сканирования).
Команда для сканирования сайта:
java -jar iis_shortname_scanner.jar 2 20 https://example.com/
Сканирование существующих коротких имен файлов:
fsutil 8dot3name scan /s /v c:\inetpub\wwwroot
Проверьте, отключено или включено создание имени 8dot3:
fsutil 8dot3name query C:\Release\SiteRootDocumentPath
Если включено создание имен 8dot3, используйте следующую команду для отключения:
fsutil 8dot3name set C:\Release\SiteRootDocumentPath 1
Свойства 8dot3name настроены на включение создания имени 8dot3 для указанного тома (0) или на отключение создания имени 8dot3 на указанном томе (1)
Даже если вы повторно развернете код по физическому пути сайта (SiteRootDocument), он не создаст файлы с короткими именами.
Сканирование будет пройдено:)