Подтвердить что ты не робот

Любые потенциальные риски безопасности с включением relaxedUrlToFileSystemMapping, чтобы URL-адреса имели часть, заканчивающуюся на "."?

У нас возникает проблема, когда наше приложение терпит неудачу, когда у URL-адреса есть какая-либо часть, заканчивающаяся на. в этом'; мы не можем избежать этого из-за функциональных требований. Предлагаемое решение состоит в том, чтобы включить relaxedUrlToFileSystemMapping в файле web.config. Мы хотели бы знать, есть ли какие-либо потенциальные угрозы безопасности при таком подходе.

Формат неудачного URL: http://server.com/path1/krishnakk./path2

Он возвращает ошибку 404.

4b9b3361

Ответ 1

Несмотря на то, что этот вопрос составляет семь месяцев, вот ответ на тот случай, если кто-то еще столкнется с подобной ситуацией.

Что касается защитной части вопроса, по умолчанию relaxedUrlToFileSystemMapping установлено значение false, а ASP.NET предполагает, что часть пути URL-адреса является допустимым файлом NTFS файла. Если вы отключите это, установив relaxedUrlToFileSystemMapping в значение true, вы потенциально откроете свой сайт для атаки, потому что отключите защиту по умолчанию, предоставляемую ASP.NET.

Если вам абсолютно необходимо установить relaxedUrlToFileSystemMapping в true, вы также должны быть уверены, что вы проверяете все URL-адреса в рамках ограничений ваших требований приложения.

Ответ 2

Немного опоздал на вечеринку, но я подумал, что добавлю, что сработало для меня.

Я только что столкнулся с этим сегодня, но, к счастью, смог обойти это. Решением было передать значение, содержащее точку (точку), как часть строки запроса, а не URL-адрес. Вы теряете элегантность наличия чистого URI без строки запроса, но это работает без снижения безопасности или изменения каких-либо настроек.

Например. http://localhost/Home/hi.how:areyou завершится ошибкой, поскольку содержит два недопустимых символа в составе URI, точку и двоеточие. Однако http://localhost/Home/id=hi.how:areyou будет отлично работать.

Поговорим о Скотте Хансельмане, который, как всегда, будет вести блог о практически всех безумных сценариях и проблемах, с которыми можно столкнуться при разработке .NET.