CSRF - Cross Site Request Forgery

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

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

Нам нужно изменить код страницы, и так, чтобы при открытии страницы все проходило незаметно, и чтобы информация отправлялась автоматически, при открытии пользователем страницы. Во-первых, нужно скрыть поля ввода, с помощью аргумента «type», со значением «hidden»:

Далее редактируем второй атрибут «input» и последнее поля ввода (кнопка «submit»). Меняем все на «hidden»:

Далее нужно удалить строку «Confirm new password»:

Далее необходимо удалить запрос нового пароля:

В итоге у нас получается вот такой код:

Нам осталось изменить атрибуты type в двух тегах «input»:

После загрузки страницы в браузере видим пустое окно:

Но если мы посмотрим на исходный код, то увидим, что все теги на месте:

Наша задача будет состоять в том, чтобы автоматизировать открытие данного скрипта на странице пользователя. Нам не нужно, чтобы даже пользователь ничего не нажимал. Суть в том, чтобы сделать редирект на нашу страницу, с вводом пароля. Для этих целей на нужен код JavaScript.

Первое, что мы сделаем, так это укажем номер id, который будет выглядеть как «<form id=form7».

Далее откроем тег скрипт, и далее закроем его. Вот и сам код: «<script>document.getElementById(‘form7’).submit();</script>»:

Скрипт достаточно простой.

Теперь нам нужно протестировать нашу страницу, с помощью веб-приложения DVWA:

В итоге мы изменили пароль, и пользователь ничего не нажимал и не вводил, а вот данные пароля изменились. Пароль администратора изменился на «777777».

Далее уже творческая работа и социальная инженерия. Можно напрямую отправлять файл в html, а можно залить его на веб-хостинг, и далее работать с ним.

На этом все. Всем хорошего дня.

Для тех, кто не читал первую часть по CSRF, то перейдите по этой ссылке.