Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Есть ли уязвимость к CSRF?
Форумы портала PHP.SU » » Вопросы новичков » Есть ли уязвимость к CSRF?

Страниц (1): [1]
 

1. Арикус - 02 Декабря, 2015 - 02:01:19 - перейти к сообщению
Недавно узнал о CSRF-атаке и способе её предотвращения (токены). Но, так как у меня на сайте более 50 форм, хочу узнать, есть ли эта уязвимость в моём случае, прежде чем делать дурную работу.
В начале скрипта из сессии достаётся логин и пароль пользователя, и проверяется, есть ли такие логин и пароль в БД. Если есть, то устанавливается
CODE (htmlphp):
скопировать код в буфер обмена
  1. $dconnected = mysqli_fetch_row (mysqli_query($linki, "SELECT COUNT(*) FROM `users` WHERE `login` = '{$_SESSION['login']}' AND `password` = '{$_SESSION['password']}'"));

Так вот, нужно ли добавлять токены и их проверку, или достаточно к каждой обработки формы, доступной только пользователям добавить условие
CODE (htmlphp):
скопировать код в буфер обмена
  1. if ($dconnected[0] > 0)

?
2. DeepVarvar - 02 Декабря, 2015 - 09:06:27 - перейти к сообщению
Арикус пишет:
узнал о CSRF-атаке
И не понял как она работает.
Арикус пишет:
достаточно
Не достаточно.
Арикус пишет:
и способе её предотвращения (токены)
Через реферер будет одинаково эффективно.
Но щас опять набегут дядьки и начнут доказывать что реферер это швах, не рассматривая то, что токен это абсолютно такой же швах.
3. dcc0 - 02 Декабря, 2015 - 16:41:20 - перейти к сообщению
А почему HTTP_REFERER плохо?
Нельзя ли детализировать?
4. esterio - 02 Декабря, 2015 - 16:50:11 - перейти к сообщению
dcc0
недавно был топик аж на 4 страницы. загляните туда, там много полезной инфы
5. MiksIr - 02 Декабря, 2015 - 16:51:01 - перейти к сообщению
dcc0 пишет:
А почему HTTP_REFERER плохо?
Нельзя ли детализировать?

Потому-что или придется посылать всех с пустым рефереом, т.е. тех, у кого он по какой-то причине блокируется (адд-оны, прокси и т.п.).
Или разрешать пустой реферер оставляя дырку для csrf, ибо есть возможность отправить csrf без реферера.
6. dcc0 - 02 Декабря, 2015 - 17:11:01 - перейти к сообщению
MiksIr, а понял, спасибо. Я что-то не подумал об этом.
7. DeepVarvar - 03 Декабря, 2015 - 11:54:15 - перейти к сообщению
MiksIr пишет:
адд-оны
Пользак в курсе и ССЗБ. Сокрытие попки и защита конкретного ресурса от конкретной атаки -- разные вещи.
MiksIr пишет:
прокси
1) Если соединение не секурное, то прокся может поменять и тело запроса, в том числе вырезать токен.
2) Если секурное, то:
а) при возможности (брут или наличие ключа) анализа и подмены трафа гото п. №1.
б) без расшифровки трафа, прокся не в состоянии поменять ни заголовки с реферером, ни тело запроса с токеном.
8. MiksIr - 03 Декабря, 2015 - 12:17:57 - перейти к сообщению
DeepVarvar пишет:
Пользак в курсе и ССЗБ.

Нет. Антивирусы, банероблокировщики. Пользователь может быть не в курсе, что реферер блокируется. ПО мог установить кто-то еще. Сын - своим родителям, например.
DeepVarvar пишет:
Сокрытие попки и защита конкретного ресурса от конкретной атаки -- разные вещи.

Я уже писал это в той теме, но у вас плохо с понималкой и вы съехали с темы на "энтерпрайз", угу, когда сказать нечего.

Да, можно наплевать на таких людей. А можно и не наплевать. Если решение с токенами по каким-то причинам сложное - можно наплевать. Чаще всего токены можно внедрить без сильных затрат даже в существующий проект, и уж точно без проблем - в новый. Так зачем плевать на людей с блокированным реферером, если можно не плевать? Только потому, что у разработчика говно бурлит?

Если вы делаете форму получения беслатного подарка - то ССЗБ. А если что-то связанное с получением вами или вашим работодателем дохода - то ССЗБ уже вы. По большому счету, тем и отличается говнокодер он серьезного разработчика, даже мидла, наверное, не говоря уже о сеньорах - просчитыванием своих решений и их последствий.

Более того. Передача данных формы - это важная часть работы всего веба. Никто и никогда, никакие браузеры и т.п. не начнут резать половину данных. А вот с реферером - такого уже не скажешь. Ибо это наибесполезнейший заголовок, важный разве что сеошникам, и то уже не очень.

На сим закончим. Если для вас реферер - это местый бог интернета и вы на него молитесь и верите в него - ваше право.

DeepVarvar пишет:
Если соединение не секурное, то прокся может поменять и тело запроса, в том числе вырезать токен.

С чего бы это? Реферер может вырезать администратор прокси (да, я говорю про корпоративные прокси) просто так. Покажется ему, что так privacy пользователей фирмы соблюдается лучше (к слову, и будет прав). А пост данные то зачем ему резать? В данном случае ваша фантазия бред.

DeepVarvar пишет:
при возможности (брут или наличие ключа) анализа и подмены трафа гото п. №1

Не по теме, но корпоративные прокси поступают проще. У всех компьютеров фирмы установен свой собственный корневой сертификат как доверенный. С помощью его "на лету" выдается сертификат тому https домену, куда идет сотрудник.

 

Powered by ExBB FM 1.0 RC1