#9 Уязвимость DVWA. CSRF (Уровень Low)
Здравствуйте, дорогие друзья. Рассмотрим в данном уроке уязвимость CSRF, или межсайтовая подделка запроса. Это вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP.
В DVWA будем использовать низкие настройки безопасности. Переходим к практике и для начала установим настройки безопасности на уровень Low:
![уровень безопасности dvwa low](https://timcore.ru/wp-content/uploads/2021/04/screenshot_1-29.png)
Переходим на вкладку «CSRF» и просматриваем исходный код страницы. Забегая вперед скажу, что нас будет интересовать форма изменения пароля, которая начинается тегом <form>:
![исходный код csrf](https://timcore.ru/wp-content/uploads/2021/04/screenshot_2-29-1024x541.png)
Копируем содержимое данной формы ввода пароля и переходим в терминал. Нам нужно перейти в текстовый редактор нано и создать файл в директории «/var/www/html/». Файл назовем «csrf»:
![nano /var/www/html/csrf](https://timcore.ru/wp-content/uploads/2021/04/screenshot_3-29.png)
В текстовом редакторе nano нам нужно отредактировать содержимое двух тегов «input», добавив дополнительное значение «value=”hack”»:
![value=”hack”](https://timcore.ru/wp-content/uploads/2021/04/screenshot_4-29-1024x552.png)
Далее добавим ссылку на нашу уязвимую страницу в атрибуте «action», в конце записи добавив вопросительный знак:
![ссылка на уязвимую страницу к csrf](https://timcore.ru/wp-content/uploads/2021/04/screenshot_5-26-1024x537.png)
Далее нам нужно поднять сервер «apache2». Это делается с помощью команды: «service apache2 start»:
![service apache2 start](https://timcore.ru/wp-content/uploads/2021/04/screenshot_6-25.png)
Проверяем работу сервера, с помощью запроса в адресной строке URL «localhost»:
![localhost](https://timcore.ru/wp-content/uploads/2021/04/screenshot_7-22.png)
Как видим, все работает как надо. Далее нам нужно прописать путь до нашего созданного файла «csrf». Для этого мы просто вводим после слеша слово «csrf», и получаем форму для смены пароля с автозаполнением:
![форма с автозаполнением](https://timcore.ru/wp-content/uploads/2021/04/screenshot_8-20.png)
Как Вы уже догадались, то пароли, которые Вы видите в полях для ввода имеют значение «hack»:
![value="hack"](https://timcore.ru/wp-content/uploads/2021/04/screenshot_9-19.png)
Жмем кнопку «Change», и нас перебрасывает на исходную страницу:
![пароль был изменен](https://timcore.ru/wp-content/uploads/2021/04/screenshot_10-17.png)
Отлично. Пароль был изменен на новый со значением «hack». Попробуем авторизоваться в DVWA по-новой:
![повторная авторизация в dvwa](https://timcore.ru/wp-content/uploads/2021/04/screenshot_11-16.png)
Пароль по-дефолту не подходит.
Если попытаемся ввести новый пароль «hack», то мы без проблем авторизуемся на сайте:
![пароль "hack" подходит](https://timcore.ru/wp-content/uploads/2021/04/screenshot_12-14.png)
#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).