CSRF - Cross Site Request Forgery, Уязвимости

#3 Используем уязвимости CSRF для смены пароля администратора с помощью ссылки.

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

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

Что нужно делать в этом случае? Все просто. Нам нужно взять наш готовый файл, и загрузить его на бесплатный хостинг, и теперь у него появляется ссылка. Можно воспользоваться сокращением ссылок, для большей правдоподобности.

Переходим к практике, и я буду делать все в локальной сети. Это происходит точно также, как и в реальной сети. Мне понадобится машина на Kali Linux в качестве веб-сервера Apache, и машина на Windows 10. В качестве файла, я возьму пример из предыдущего урока, который выглядит как:

Пароли были изменены на «777777». Теперь я скопирую этот код на веб-сервер Kali с помощью команды «cp Desktop/csrf.html /var/www/html»:

Нужно запустить сервер Apache, и я пропишу команду «service apache2 start»:

Теперь все работает.

Проверю свой ip-адрес с помощью команды «ifconfig»:

Открою машину на Windows 10. Представим, что ей пользуется пользователь. Нам нужно войти в мой аккаунт DVWA:

Логин/Пароль: admin/password.

Авторизация проходит успешно. Это делал для наглядности, и то, что у нас стоят дефолтные пароли.

Теперь давайте откроем страницу, на которой присутствует уязвимость CSRF. Он может быть открыт, при использовании социальной инженерии. Все, что нужно сделать нам сейчас, просто открыть ссылку в браузере. В интернете есть множество бесплатных хостингов, но в рамках данного урока я использую свою машину на Kali Linux, в качестве хостинга. Ссылка будет иметь вид моего ip – адреса на Kali, и файла «192.168.15.128/csrf.html»:

Далее проверяем наш пароль, который мы прописывали в коде:

Авторизация довольно успешно, но мне приходилось делать переход два раза, чтобы поменять пароль. Надо подумать, в связи с чем это происходит.

У всех пользователей, которые будут переходить по этой ссылке, пароль поменяется на тот, который мы поменяли.

Этот метод можно использовать с любым веб-сайтом, уязвимым к CSRF. Форма оплаты, отправка сообщения и т.д. является объектом для изучения и использования данной уязвимости.

Для того, чтобы целостно понимать картину CSRF, то ознакомьтесь с первой и второй частью по данной уязвимости.