#20 Уязвимость DVWA. JavaScript — уровень «Medium».
Здравствуйте, дорогие друзья. Продолжаем рассматривать уязвимости DVWA, и сегодня рассмотрим вкладку «JavaScript» уровня «Medium».
Для начала выставим настройки безопасности на «Medium»:
![настройки безопасности dvwa - medium](https://timcore.ru/wp-content/uploads/2021/04/screenshot_1-43-1024x777.png)
Далее переходим на кнопку «JavaScript», и видим ту же картину, что и на уровне «Low»:
![содержимое страницы javascript](https://timcore.ru/wp-content/uploads/2021/04/screenshot_2-41.png)
Значение в поле: «ChangeMe». Жмем на кнопку «Submit» и получаем вывод:
![ввод значения change me](https://timcore.ru/wp-content/uploads/2021/04/screenshot_3-41.png)
Попробуем ввести слово «success»:
![пробуем ввести слово success](https://timcore.ru/wp-content/uploads/2021/04/screenshot_4-40.png)
Получаем невалидный токен.
Можно потестить, и ввести какое-либо другое значение:
![вводим какое-либо другое значение](https://timcore.ru/wp-content/uploads/2021/04/screenshot_5-35.png)
Посмотрим на исходники данной страницы. Это кнопка внизу справа, которая называется «view source»:
![view source](https://timcore.ru/wp-content/uploads/2021/04/screenshot_6-34.png)
В исходниках видим страничку medium.php со скриптом js, и обфусцированный код javascript:
![medium.php](https://timcore.ru/wp-content/uploads/2021/04/screenshot_7-30-1024x366.png)
Можно скопировать обфусцированный код js, и декодировать его:
![декодирование обфусцированного кода javascript](https://timcore.ru/wp-content/uploads/2021/04/screenshot_8-27-1024x272.png)
Получается такая конструкция, которая состоит из проверки паузы, преобразования переменных, которая ждет ввод с клавиатуры пользователя. Идет проверка, и если все хорошо, то добавляет изменения в сайт. В сам DOM вносит коррективы в страницу сайта.
Продолжаем исследовать страницу с уязвимостью, и откроем панель разработчика, где находим тег «input» со скрытым параметром токена. Нам нужно изменить значение «value» на «success»:
![меняем значение «value» на «success»](https://timcore.ru/wp-content/uploads/2021/04/screenshot_9-26-1024x407.png)
Также меняем значение «value» у тега input с id «phrase» на «success»:
![меняем значение «value» у тега input с id «phrase» на «success»](https://timcore.ru/wp-content/uploads/2021/04/screenshot_10-23-1024x330.png)
Далее переходим в панель «Console», и вводим параметр do_elsesomething(‘XX’):
![вводим параметр do_elsesomething(‘XX’)](https://timcore.ru/wp-content/uploads/2021/04/screenshot_11-22.png)
Осталось перейти на уязвимую страницу и нажать кнопку «Submit»:
![переход на уязвимую страницу javacript](https://timcore.ru/wp-content/uploads/2021/04/screenshot_12-19.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).
#7 Уязвимость DVWA. Command Execution (Уровень Low).
#8 Уязвимость DVWA. Command Execution (Уровень Medium).
#9 Уязвимость DVWA. CSRF (Уровень Low).
#10 Уязвимость DVWA. CSRF (Уровень Medium).
#11. Уязвимость DVWA — (Local File Inclusion). Уровень Low.
#12 Уязвимость DVWA. LFI (Local File Inclution) — Уровень Medium.
#13 Уязвимость DVWA LFI — Local File Inclusion (Уровень High).
#14 Уязвимость DVWA. Command Execution (Уровень High).
#15 Уязвимость DVWA. SQL-Injection (Уровень Medium).
#16 Уязвимость DVWA — Brute Force (Уровень High).
#17 Уязвимость DVWA. SQL-Injection (Уровень High).