• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Csrf - атака

M

Markus.c99

Привет,покопавшись в инете и просмотрев много информации о вэб-атаках наткнулся csrf атаку.Не очень понимаю как работает,хотелось бы подробное объяснение на примерах.:rolleyes:
 

vag4b0nd

Red Team
24.05.2017
315
1 498
BIT
49
На такое нужно статью писать..
Но увы, сейчас пилю курс. Там будет целый урок про CSRF.

Если кратко, то злоумышленник на каком-либо ресурсе выполняет действия от имени другого пользователя. Ну допустим, это может быть выдача админ. прав на каком-то ресурсе(если пользователь админ). И тут включая социальную инженерию, хакер переманивает этого админа на свой сайт(нужно, конечно, чтобы сам админ, был залогинен на атакуемом ресурсе). Далее, на сайте выполняет какой-либо код, посредством которого посылаются некоторые данные на атакуемый ресурс от имени админа)
Т.е. происходит следующее.
Хакер создает свой сайт --> переманивает на него пользователя --> Некоторый код на сайте выполняется(будь, то отправка сообщения) --> все это отсылается на атакуемый ресурс от имени пользователя.

В основном может быть не понятен момент с выполнением кода на сайте хакера. Вот тут подробнее. Допустим мы хотим сменить пароль у юзверя. Представим, что уязвимый сайт не использует токенов для защиты. Мы знаем, что, например, на атакуемом сайте страница смены пароля
http://example.com/smena_passw
К тому же, для простоты обьяснения представим, что для смены пароля, текущий пароль не требуется :)
Тогда, на сайте хакера будет следующий код.

HTML:
...
<form action="http://example.com/smena_pass" method=POST>
    <input type="hidden" name="send" value="new_pass">
</form>
<script>
    submitForm();
</script>

Этот код создает специальную форму для смены пароля, а далее, js код просто отправляет ее. Конечно же, перед проведением атаки, нужно внемательно изучить страницу смены пароля. Потому, именно при изучениивыудили значение name. Это параметр send, который в скором будет обработан на сервере)
А сам код можно прочитать как "На страницу smena_pass, которая находится на ресурсе example.com отправь "new_password" параметром send и выполни отправку без участия пользователя". Т.е. данные отправляются на ресурс практически моментом. Но, пользователь должен быть обязательно авторизован.
Надеюсь, хотябы что-то было понятно..
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!