SEO блог где палят темы [Самый интересный SEO блог] 2007-10-28 21:18:40 << Абсолютный трастранк | Registrant Search >>Вычитал про хитрую технологию хака, думаю всем веб-разработчикам и сочувствующим кто ещё не в курсе, будет интересно про неё узнать: Cross-site request forgery. На русский можно перевести как "межсайтовая подделка запроса". Смысл такой, что если у вас есть сайт с аутентификацией, на сайте человек залогинился с кукой и сабмитит форму, которая что-то меняет, например пароль, то вы (разработчик) думаете что у вас всё чики-пуки. А на самом деле, если это дело было запрограммировано не совсем правильно, то форму вам может сабмитнуть молдавский хакер, с понятными последствиями. :) Делается это путём подсовывания по мышку юзеру специально сформированной ссылки или показа картинки у которой вместо файла всунута опять же ссылка. Ссылка должна быть такой, какую ожидает сайт-жертва при сабмите формы. Причём хакеры могут подделать не только гет, но и пост запрос, с помощью жаба-скрипта.
Как бороться: самый очевидный способ - во все формы вбивать уникальное скрытое поле, которое перед вбиванием записывать в кибермозг компьютера и потом сверять с тем что получено от юзера, либо перед записью в форму, кодировать поле по секретному ключу, а при получении назад раскодировать и сверять. В вики пишут про ещё один способ - перед сабмитом форм зачитывать скриптом авторизирующую куку, при этом будут применены более строгие правила на кросс-доменные запросы и хакер обломается. Но способ со скрытыми полями мне кажется всё-же надёжней, он не зависит от браузера.
Английские братья по разуму пишут что таким способом в аккаунте адсенса можно поменять адрес с Англии на Молдавию. :) Что-то мне подсказывает, что для этой уязвимости вордпресс тоже должен быть одной большой дырой. Пойду просматривать на своих сайтах, если ли у меня такие формы.Roman Pushkin 2007-10-29 09:33:24 В ASP.NET по-умолчанию есть защита от такого типа атак. vosemd 2007-10-29 11:03:05 Довольно старая уязвимость, в свое время с её помощью меняли пароли на mail.ru и прочих сервисах -- присылали письмо с ифреймом или ссылкой.
Именно после этого при смене важных данных в форме стали ставить поле пароль. Greignar 2007-10-31 10:46:03 Написано так, что самому пришлось читать на википедии...
Кука привязывается к конкретному ip. Соответственно молдавский хацкер ничего с ней сделать не сможет. Это уже достаточно давно реализуется на форумах - писать с другого ip можно, а если что-то поменять в админке - требует подтвердить паролем. Alexf: блог где палят темы : Защита от брутфорса 2007-11-07 23:17:55 [...] означающий подбор пароля. Предположим что вы опять же, веб-разработчик из Саратова (из глуши). У вас на сайте есть формочка, [...] Greignar 2007-11-08 11:02:12 Брутфорс не актуален даже для веб-разработчика из Саратова :)
Интересно, нужно жить в Москве, чтобы знать каким образом защититься от брутфорса? alexf 2007-11-08 15:41:54 Greignar, Как показывают комментарии, почти все москвичи тоже не знают, включая вас. :) Про брутфорс лучше писать в сообщении о брутфорсе, тут пишут про CSRF. Greignar 2007-11-09 02:29:47 alexf, действительно немного недопонял... На страницу подсовывается скрипт, который самостоятельно изменяет данные от имени и с компьютера пользователя.
Вопрос в том, сможет ли скрипт подделать реферер (изменение данных разрешено только при переходе с конкретных форм, к примеру http://???.ru/users/edit.htm)?
А если он самостоятельно сможет ввести символы с капчи (подтвердить изменения данных) то я сдаюсь...
З.Ы. Хоть я и не разработчик, и живу на другом конце России, получается сам не зная того успел обезопаситься. Или еще пока нет? alexf 2007-11-09 03:05:35 Строго говоря, использовать реферрер для чего либо кроме сбора информации - неправильно. Я могу одной кнопкой в браузере запретить показ реферера. Или реферер может потеряться при переходе по хитро сформированной ссылке. Или я просто адрес нужной страницы введу вручную. И при этом я останусь легитимным пользователем сайта. А поменять информацию не смогу. :) В статье написано что нужно делать, зачем пытаться изобрести неправильно работающий велосипед? Greignar 2007-11-09 03:23:40 alexf, если я смогу запустить на машине пользователя произвольный ява скрипт, то скрипт сможет в фоне подгрузить форму для изменения пароля, выдернуть из нее "уникальное скрытое поле" и преспокойно отправить все на сервер.
Кстати, про реферер не я придумал, это давняя "защита" от выполнения скрипта при запросе из за пределов сайта, да и на ВИКИ (по указанному вами адресу) этот вариант защиты рассматривается.
Самое интересное, что и куки вы можете запретить, но в нужных местах разрешаете. Чем же реферер провинился? Мне кажется все просто - хочешь работать с данным ресурсом - давай ему то, что он просит.
P.S. Велосипед с реферером "неправильно" работает на многих форумах, и правильно делает что работая таким "неправильным" способом защищает своих посетителей. alexf 2007-11-09 03:44:45 1. Запуск произвольного скрипта на машине пользователя не является CSRF.
2. Скрипт не сможет ничего выдернуть из страницы на чужом сайте, это основа основ безопасности, иначе такие танцы с бубнами как CSRF были бы вообще не нужны. Весь серверный АЯКС как раз нужен чтобы обойти запрет на кросс доменные запросы. Greignar 2007-11-09 04:18:54 1. Внедряя ссылку на якобы рисунок, мы пытаемся запустить ява-скрипт на машине пользователя. Нам нужен ip оригинальной машины и его кука для последующих манипуляций с паролем. С чужого ip и с украденой кукой ничего не получится.
2. Почему не выдернет? Скрипт так же может давать запрос на получение страницы и получать ее. Какая тут основа основ? Можно защититься, но только нелюбимым вами реферером.
Причем сдесь аякс? Серверная честь "аякса" это обычный скрипт, преобразующий запросы клиентской части и отдающий ей все то, что она просит. Яякс нужен не для кроссдоменности, а для асинхронного обмена м-у клиентом и сервером. alexf 2007-11-09 04:38:13 > Скрипт так же может давать запрос на получение страницы и получать ее.
Не может. Попробуйте хоть 1 раз так сделать с нормальными, стандартными настройками безопасности в любом популярном браузере. Я не понимаю зачем спорить ради спора, тем более противоречить общеизвестным элементарным вещам. Поэтому со своей стороны диалог прекращаю. Greignar 2007-11-09 04:55:45 Проверьте сами - http://arsengine.org.ru/diary/1189566556512591.htm
Там по ссылке ява скрипт дает запрос скрипту на сервере, получает данные и выводит их на страницу. Можете даже посмотреть исходный текст формы, в нем вы не найдете ни формы, ни комментариев. Работает на Опере и ИЕ, на Фоксе не пробовал.
А что такого, скрипт запускается в контексте оригинальной страницы.
Насколько я понял, в CSRF используется идея внедрение скрипта в контекст страницы, в противном случае он по причинам безопасности не сможет воспользоваться чем-то другим. Бикини червь в Facebook 2009-11-24 03:58:10 [...] через CSRF - при клике открывается ссылка с ифреймом, который [...] новичкам | палю тему | хакерство | холокост | шняга |