Один из наших серверов 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:
Попробуйте просканировать существующие короткие имена файлов с помощью 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 об этом, и он ответил:
Так что вроде теперь ты в безопасности :)
также «ПРИМЕЧАНИЕ. Изменение записи реестра NtfsDisable8dot3NameCreation влияет только на файлы, папки и профили, созданные после изменения. Файлы, которые уже существуют, не затрагиваются».
Примечание. Хотя отключение создания имени файла 8.3 увеличивает производительность файлов в Windows, некоторые приложения (16-разрядные, 32-разрядные или 64-разрядные) могут быть не в состоянии найти файлы и каталоги с длинными именами файлов.
К сожалению, единственный способ справиться с этим - это раздражающий набор круговоротов, зависящих от вашей версии Windows, который отключает возможность генерировать имена 8.3.
Для вашей версии Windows:
Чтобы отключить создание имени 8.3 на всех разделах NTFS, введите fsutil.exe behavior set disable8dot3 1 в командной строке с повышенными привилегиями и нажмите Enter.
Источник: http://support.microsoft.com/kb/121007
Я не совсем уверен, что сценарий работает и как ваша сеть настроена, но как насчет фильтрации через что-то перед сервером IIS (даже если это просто виртуальное устройство на виртуальной машине)? А именно, вы настраиваете IPS с правилом, которое специально отбрасывает трафик, относящийся к этой конкретной проблеме?