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

#9 Уязвимость DVWA. CSRF (Уровень Low)

Здравствуйте, дорогие друзья. Рассмотрим в данном уроке уязвимость CSRF, или межсайтовая подделка запроса. Это вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP.

В DVWA будем использовать низкие настройки безопасности. ­­Переходим к практике и для начала установим настройки безопасности на уровень Low:

уровень безопасности dvwa low

Переходим на вкладку «CSRF» и просматриваем исходный код страницы. Забегая вперед скажу, что нас будет интересовать форма изменения пароля, которая начинается тегом <form>:

исходный код csrf

Копируем содержимое данной формы ввода пароля и переходим в терминал. Нам нужно перейти в текстовый редактор нано и создать файл в директории «/var/www/html/». Файл назовем «csrf»:

nano /var/www/html/csrf

В текстовом редакторе nano нам нужно отредактировать содержимое двух тегов «input», добавив дополнительное значение «value=”hack”»:

value=”hack”

Далее добавим ссылку на нашу уязвимую страницу в атрибуте «action», в конце записи добавив вопросительный знак:

ссылка на уязвимую страницу к csrf

Далее нам нужно поднять сервер «apache2». Это делается с помощью команды: «service apache2 start»:

service apache2 start

Проверяем работу сервера, с помощью запроса в адресной строке URL «localhost»:

localhost

Как видим, все работает как надо. Далее нам нужно прописать путь до нашего созданного файла «csrf». Для этого мы просто вводим после слеша слово «csrf», и получаем форму для смены пароля с автозаполнением:

форма с автозаполнением

Как Вы уже догадались, то пароли, которые Вы видите в полях для ввода имеют значение «hack»:

value="hack"

Жмем кнопку «Change», и нас перебрасывает на исходную страницу:

пароль был изменен

Отлично. Пароль был изменен на новый со значением «hack». Попробуем авторизоваться в DVWA по-новой:

повторная авторизация в dvwa

Пароль по-дефолту не подходит.

Если попытаемся ввести новый пароль «hack», то мы без проблем авторизуемся на сайте:

пароль "hack" подходит

#1 Уязвимость DVWA. SQL-Injection (уровень Low).

#2 Уязвимость DVWA. Brute Force (Уровень Low).

#3 Уязвимость DVWA — File Upload (Уровень Low).

#4 Уязвимость DVWA. File Upload (Уровень Medium).

#5 Уязвимость DVWA File Upload (Уровень High).

#6 Уязвимость DVWA. Brute Force (Уровень Medium).

#7 Уязвимость DVWA. Command Execution (Уровень Low).

#8 Уязвимость DVWA. Command Execution (Уровень Medium).