Существует бесплатное приложение для iPhone под названием «Шрифты», которое отображает все установленные шрифты. (Чтобы загрузить его, щелкните эту ссылку iTunes .)
Но обратите внимание, что шрифты, установленные на вашем персональном iPhone или симуляторе, могут не совпадать с набором шрифтов, установленных на других устройствах.
Я смотрел на это некоторое время и пришел к выводу, что установка EnableHeaderChecking на true
на самом деле достаточно хороша, чтобы предотвратить http атаки путем внедрения заголовков.
Глядя на «отраженный» код ASP.NET, я обнаружил, что:
HttpResponseHeader
(внутренний) HttpResponseHeader.MaybeEncodeHeader
(для IIS7WorkerRequests
или присваивает его соответствующие свойства ) [его соответствующие свойства] известные заголовки, такие как RedirectLocation или ContentType ) HttpResponseHeader
, создаются до того, как будут отправлены известные заголовки, такие как RedirectLocation или ContentType ContentType ( HttpResponse.GenerateResponseHeaders
) HttpResponseHeader
проверяет настройку EnableheaderChecking и вызывает HttpResponseHeader 1149267] Http49.eader для Http49.esponse26. истина
HttpResponseHeader.MaybeEncodeHeader
правильно кодирует символы новой строки, что делает невозможными атаки с использованием HTTP-заголовков Вот фрагмент, примерно демонстрирующий, как я тестировал:
// simple http response splitting attack
Response.AddHeader("foo", "bar\n" +
// injected http response, bad if user provided
"HTTP/1.1 200 OK\n" +
"Content-Length: 19\n" +
"Content-Type: text/html\n\n" +
"<html>danger</html>"
);
Вышеупомянутое работает, только если вы явно отключите EnableHeaderChecking :
<httpRuntime enableHeaderChecking="false"/>
Fortify просто не принимает во внимание конфигурацию (настройка EnableHeaderChecking явно не действует), и поэтому всегда сообщает о подобных проблемах.
Насколько мне известно, этого достаточно, и он должен быть включен по умолчанию.
Я думаю, что Fortify просто думает о глубокой защите, как если бы вы изменили конфигурацию в развертывании и т.д.
I Предположим, вы не установили его строго в своей конфигурации, если у вас, возможно, Fortify не настолько умен, чтобы понять, что наш.
Лучший способ подтвердить - использовать его :)
EnableHeaderChecking предназначен только для ненадежных данных. Если вы передаете данные непосредственно из cookie в Redirect, возможно, результирующие заголовки считаются надежными и значения \ r \ n не экранируются.
Йозеф, HttpResponse.AppendHeader() - не единственное место, где недоверенные данные могут попасть в заголовки HTTP-ответа.
Любые данные от злоумышленника, которые оказываются в Cookies или HTTP-перенаправлениях, могут записать новые заголовки, если эти данные содержат возврат каретки (или что-либо, что интерпретируется как возврат каретки).
В целом, гораздо лучше использовать свое время для проверки данных, чем сидеть и пытаться разработать эксплойты. Есть шанс, что хакеры будут разбираться в этом лучше, чем вы или я.