Можно ли подделать заголовок http "x-required-with"? - PullRequest
8 голосов
/ 08 марта 2009

Мои исследования показывают, что могут быть подделаны только заголовки Host, Referer и User-Agent. ( источник )

Это правильное предположение? Для обеспечения безопасности сайта, который я создаю, может потребоваться, чтобы «x-required-with» не был подделан. Это далеко от идеала, но, возможно, это единственный путь, который у меня есть.

Ответы [ 4 ]

17 голосов
/ 08 марта 2009

Безопасность сайта, который я строю может потребовать, чтобы "х-запрошено с" не может быть подделан

Почти все в HTTP может быть подделано. Уровень подделки трудно определить. Довольно просто создать запрос с любым желаемым значением заголовка.

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

10 голосов
/ 08 марта 2009

Каждый заголовок может быть подделан. Любой заголовок, который начинается с x-, является нестандартным.

1 голос
/ 26 ноября 2010

Только что наткнулся на этот вопрос, искал что-то еще, вот мой ответ:

Общий принцип безопасности, о котором следует помнить: любые данные могут быть изменены.

Теперь с практической точки зрения вот что происходит: чем дальше вы работаете со стеком (транспорт, сеть, связь ...), тем труднее становится изменить данные, потому что необходимые инструменты с большей вероятностью будут недоступны Прежде всего, вам потребуются модификации системы (например, вы можете перекомпилировать ядро ​​Linux, чтобы связываться со стеком Ethernet / IP, если вам интересно).

Говоря о HTTP, это прикладной уровень, и становится абсолютно просто делать что угодно. Вы найдете множество инструментов, которые позволят вам создавать любые пользовательские HTTP-запросы от самых простых сетевых инструментов (nc, telnet ...) до более продвинутых (cUrl, Fiddler ...).

Так что НЕТ, простое присутствие заголовка x-required-with не может рассматриваться как надлежащая защита.

Хотя это может быть полезно для ситуаций с низким уровнем безопасности, это определенно не остановит атакующего, желающего пройти его. Запомните первый принцип безопасности: нет непроницаемой системы, она должна быть достаточно защищенной, чтобы попытки взлома были недостойны.

0 голосов
/ 24 августа 2016

Он может быть подделан кем-либо, использующим curl или расширение браузера.

Однако, если он используется в качестве меры защиты от CSRF ( см. Здесь ), его нельзя легко подделать, поскольку злоумышленник не тот, кто использует браузер. Чтобы подделать его, вам понадобится эксплойт Flash, как объяснено в ответе, или CORS, настроенный с ограниченными разрешениями на целевом сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...