Основной вопрос о файлах cookie и CSRF - PullRequest
4 голосов
/ 22 апреля 2011

В настоящее время я узнаю больше о CSRF, и у меня есть основной вопрос о файлах cookie.Из статьи Джеффа Этвуда о CSRF :

"Когда на сайт отправляется запрос POST, запрос должен считаться действительным, только если значение формы и значение cookie являютсяТо же самое. Когда злоумышленник отправляет форму от имени пользователя, он может только изменять значения формы. Злоумышленник не может прочитать любые данные, отправленные с сервера, или изменить значения файлов cookie, в соответствии с политикой того же происхождения.злоумышленник может отправить любое значение, которое он пожелает, с помощью формы, он не сможет изменить или прочитать значение, сохраненное в файле cookie. "

Если файлы cookie - это фрагмент текста, хранящийся напользователи компьютера , как они не могут изменить / прочитать значение файла cookie ?

Если они знают значение файла cookie и могут видеть псевдослучайное значение, скрытое в форме,Разве у них нет всего, что им нужно для атаки?

Спасибо,

Ответы [ 2 ]

4 голосов
/ 22 апреля 2011

Такая же политика происхождения означает, что атакующий веб-сайт не может прочитать файлы cookie с другого домена. Смотри http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies

Мы не говорим о злоумышленнике, у которого есть руткит или что-то в этом роде на компьютере пользователя, от чего CSRF защищает от злонамеренного сервера, когда пользователь отправляет форму с помощью запроса POST в домен, который злонамеренный сервер хочет атаковать. Поскольку вредоносный сервер не может прочитать cookie из целевого домена, он не может правильно заполнить поле CSRF для запроса POST, который они делают.

2 голосов
/ 22 апреля 2011

Имеется в виду шаблон токена синхронизатора. Обычно это означает, что форма содержит скрытое поле со значением, уникальным для сеанса этого пользователя. Это же значение хранится в файле cookie на компьютере пользователя. Когда форма отправлена, оба значения проверяются на совпадение.

Преимущество этого подхода состоит в том, что если вредоносный веб-сайт пытается создать запрос на отправку на законный веб-сайт, он не будет знать значение этой скрытой формы. Это вообще более сложный процесс для получения этого.

Атакующий сайт не может прочитать или изменить значение cookie, потому что оно было отправлено с другого домена. Подробнее об этом (включая проработанный пример) здесь: Топ-10 OWASP для разработчиков .NET, часть 5: Подделка межсайтовых запросов (CSRF)

...