Страница 16 из 28
Re: Вопросы и ответы по программированию.
Добавлено: 04.07.2012, 17:00
MOZGIII
Редирект по реферреру или полю из гета или поста, в случае, если форма не защищена от форджери, создаёт уязвимость для фишинга.
Re: Вопросы и ответы по программированию.
Добавлено: 04.07.2012, 20:26
GanGSISoft
MOZGIII
Можно подробнее?, а то я не понял. И что такое "форджери"?
Re: Вопросы и ответы по программированию.
Добавлено: 04.07.2012, 20:47
NiGHt-LEshiY
GanGSISoft
Это значит, что он знает крутые слова.
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 01:20
MOZGIII
GanGSISoft
NiGHt-LEshiY
http://en.wikipedia.org/wiki/Cross-site_request_forgery или
http://ru.wikipedia.org/wiki/%D0%9F%D0% ... 0%BE%D0%B2
Добавлено спустя 2 минуты 34 секунды:
В русской статье описаны варианты защиты, так вот первый уже не актуален.
Добавлено спустя 17 минут 4 секунды:
Суть проста: редирект на страницу, которая задаётся на клиентской стороне (путём указания ссылки как параметра запроса или использование реферрера) создаёт уязвимость XSS, который можно эксплуатировать для перенаправления клиента на фишинговый сайт.
Если сайт ещё и уязвим к CSRF (то самое форджери) и при этом для перенаправления используется параметры запроса, то эксплуатацию уязвимости можно провести немного легче.
Мораль: храните цель редиректа в сессии.
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 01:38
NiGHt-LEshiY
форджери
По-русски говори, бл.
Мораль:
Это не мораль, а руководство к действию. Мораль была бы "нельзя полагаться на данные от пользователя".
И ты совсем неправильно понял, что планируется делать с этими данными. Кто сказал, что будет редирект на тот адрес, что пришёл от юзера? Адрес из формы будет _использоваться_.
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 07:39
Overseer618
Мораль - используйте POST и ключи сессии.
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 11:40
Pr0Ger
MOZGIII
как минимум, можно хранить не абсолютный url; а можно просто хранить идентификатор страницы, которое твоей логикой уже развернется в полный url, например t25425 -> /viewtopic.php?t=25425
а против CSRF надо проверять реферер или делать скрытые уникальные поля в форме
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 16:00
MOZGIII
Pr0Ger
Я же говорил что первый способ из вики не надёжен - реферер сейчас спокойно подменяется средствами js.
Overseer618 писал(а):Мораль - используйте POST и ключи сессии.
Вот этот способ с достаточной уверенностью спасает от CSRF. Но лучше, для полного счастья, добавлять ещё какую-нибудь авторскую магию.
Pr0Ger писал(а):как минимум, можно хранить не абсолютный url; а можно просто хранить идентификатор страницы, которое твоей логикой уже развернется в полный url, например t25425 -> /viewtopic.php?t=25425
Это неплохо поможет защититься от XSS, но в рамках одного сайта редирект куда не надо всё равно возможен, эффективнее всего использовать именно сессию (т.к. пользователь или взломщик вообще не может её изменить, хотя есть атаки направленные на похищение сессии, но это из другой оперы).
NiGHt-LEshiY писал(а):И ты совсем неправильно понял, что планируется делать с этими данными. Кто сказал, что будет редирект на тот адрес, что пришёл от юзера? Адрес из формы будет _использоваться_.
Не важно. Суть та-же.
NiGHt-LEshiY писал(а):Это не мораль, а руководство к действию. Мораль была бы "нельзя полагаться на данные от пользователя".
Я специально выдал мораль в такой форме. Думаю, причина, почему я так сделал, ясна.
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 16:07
Rama
Презентация чутка в тему.
http://yadisk.cc/d/X1ly0pojY7H
Не помню откуда брал, может даже отсюда %)
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 16:38
Pr0Ger
MOZGIII писал(а):реферер сейчас спокойно подменяется средствами js
кажется я что-то проспал, хочу линк
по крайней мере не очень давно видел вот этот
коммент говорящий об обратном
если что именно чистым JavaScript, без примесей флеша и тем более какой-нибудь жавы
да, я поискал, нашел какую-то штуку, которая пробивает древний файрфокс и только GET запросы
MOZGIII писал(а):но в рамках одного сайта редирект куда не надо всё равно возможен, эффективнее всего использовать именно сессию
но данные, которые ты туда положишь все равно в какой-то момент получаются от пользователя, и могут быть подменены
хотя такими размышлениями можно дойти как в той притче про хакера и солонку
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 20:47
NiGHt-LEshiY
MOZGIII писал(а):Не важно. Суть та-же.
Да нет, ещё как важно. Ты сам выдумал проблему и написал целый пост по поводу решения выдуманной проблемы. Этого бы не случилось, если б ты правильно понял пост Pr0Ger.
Я специально выдал мораль в такой форме. Думаю, причина, почему я так сделал, ясна.
Я не могу понять причину, правда. Какая может быть причина, чтобы выдать за мораль что-то, что моралью быть не может?
Re: Вопросы и ответы по программированию.
Добавлено: 05.07.2012, 20:57
Overseer618
Вы уже обсудили данную тему, зачем устраивать холивары?
Re: Вопросы и ответы по программированию.
Добавлено: 06.07.2012, 09:43
MOZGIII
Overseer618
Just for fun %) Разговор тут уже давно не конструктивен...
Добавлено спустя 3 минуты 17 секунд:
NiGHt-LEshiY писал(а):
MOZGIII писал(а):Не важно. Суть та-же.
Да нет, ещё как важно. Ты сам выдумал проблему и написал целый пост по поводу решения выдуманной проблемы. Этого бы не случилось, если б ты правильно понял пост Pr0Ger.
WTF?
Добавлено спустя 1 минуту 5 секунд:
NiGHt-LEshiY писал(а):Я не могу понять причину, правда. Какая может быть причина, чтобы выдать за мораль что-то, что моралью быть не может?
Думай xD
Добавлено спустя 8 минут 36 секунд:
Pr0Ger
По поводу js - я тоже поискал, действительно, ничего не находится... Я давно изучал этот вопрос, и, если честно, уже и не помню, почему я решил, что проверять реферрер - это плохо. Может быть дело было в моей конкретной задаче.
Вообще говоря, уязвимость при возможности CSRF порождается далеко не всегда. Это так, скорее варнинг, на который можно иногда обращать внимание.
Re: Вопросы и ответы по программированию.
Добавлено: 06.07.2012, 09:58
NiGHt-LEshiY
MOZGIII
Отмазался.
Re: Вопросы и ответы по программированию.
Добавлено: 10.07.2012, 12:20
GanGSISoft
1)У меня в файле _smarty.php объявлена переменная $srv_path, если я подключаю куда-то этот файл, и использую эту переменную, то netbeans выдаёт предупреждения, мол нету такой переменной, я правильно делаю(оно то всё работает)? и как избавится от предупреждения?
2)А вот ещё, если сделать так
Код: Выделить всё
$var="ssadsad";
$var = strip_tags($var);
$var= htmlentities($var);
echo $var;
то опять netbeans ругается, требует так
Код: Выделить всё
$var="ssadsad";
$var1 = strip_tags($var);
$var2= htmlentities($var1);
echo $var2;
Это нормально?
3)И ещё, почему оно ругается на второе и третье упоминани $msg в этом коде
Код: Выделить всё
$msg = "сбой";
if(условие1){
if (улсовие2)
$msg = "Активация прошла успешно";
else
$msg = "Активировать профиль не удалось";
}
echo $msg;
Я не пойму, или я не правильно делаю, или это NetBeans не прав.