You are here: Home » Уязвимые среды и программы для тренировки » Damn Vulnerable Web Application (DVWA)

Damn Vulnerable Web Application (DVWA)

Описание Damn Vulnerable Web Application (DVWA)

Damn Vulnerable Web Application (DVWA) — это веб-приложение на PHP/MySQL, которое чертовски уязвимо. Его главная цель — помочь профессионалам по безопасности протестировать их навыки и инструменты в легальном окружении, помочь веб-разработчикам лучше понять процесс безопасности веб-приложений и помочь и студентам и учителям в изучении безопасности веб-приложений в контролируем окружении аудитории.

Цель DVWA попрактиковаться в некоторых самых распространённых веб-уязвимостях, с различными уровнями сложности, с простым прямолинейном интерфейсом. Обратите внимание, что имеются как задокументированные, так и незадокументированные уязвимости в этом программном обеспечении. Это сделано специально. Вам предлагается попробовать и обнаружить так много уязвимостей, как сможете.

ПРЕДУПРЕЖДЕНИЕ!

Damn Vulnerable Web Application чертовски уязвимо! Не загружайте его в публичную html папку вашего хостинг провайдера или на любой сервер, имеющий выход в Интернет, поскольку они будут скомпрометированы. Рекомендуется использовать виртуальную машину (такую как VirtualBox или VMware), которые установлены в сетевой режим NAT. Внутри гостевой машины вы можете загружать и установить веб-сервер и базы данных.

Некоторые из уязвимостей веб-приложений, который содержит DVWA;

  • Брут-форс: Брут-форс HTTP формы страницы входа; используется для тестирования инструментов по атаке на пароль методом грубой силы и показывает небезопасность слабых паролей.
  • Исполнение (внедрение) команд: Выполнение команд уровня операционной системы.
  • Межсайтовая подделка запроса (CSRF): Позволяет «атакующему» изменить пароль администратора приложений.
  • Внедрение (инклуд) файлов: Позволяет «атакующему» присоединить удалённые/локальные файлы в веб-приложение.
  • SQL внедрение: Позволяет «атакующему» внедрить SQL выражения в HTTP из поля ввода, DVWA включает слепое и основанное на ошибке SQL внедрение.
  • Небезопасная выгрузка файлов: Позволяет «атакующему» выгрузить вредоносные файлы на веб-сервер.
  • Межсайтовый скриптинг (XSS): «Атакующий» может внедрить свои скрипты в веб-приложение/базу данных. DVWA включает отражённую и хранимую XSS.
  • Пасхальные яйца: раскрытие полных путей, обход аутентификации и некоторые другие.

Домашняя страница: http://dvwa.co.uk/

Автор: RandomStorm & Ryan Dewhurst

Лицензия: GPLv3

Справка по Damn Vulnerable Web Application (DVWA)

DVWA имеет три уровня безопасности, они меняют уровень безопасности каждого веб-приложения в DVWA.

Невозможный – этот уровень должен быть безопасным от всех уязвимостей. Он используется для сравнения уязвимого исходного кода с безопасным исходным кодом. До DVWA v1.9 этот уровень был известен как «высокий».

Высокий — Это расширение среднего уровня сложности, со смесью более сложных или альтернативных плохих практик в попытке обезопасить код. Уязвимости не позволяют такой простор эксплуатации как на других уровнях..

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

Низкий — Этот уровень безопасности совершенно уязвим и совсем не имеет защиты. Его предназначение быть передовым примером среди уязвимых веб-приложений, примером плохих практик программирования и служить платформой обучения базовым техникам эксплуатации.

Каждая уязвимая страница в DVWA имеет кнопку 'view source' (показать исходный код), эта кнопка используется для просмотра и сравнения исходного кода каждой уязвимости по сравнению с её безопасным уровнем. Это позволяет пользователю с лёгкостью получить доступ к исходному коду для сравнения безопасных и небезопасных практик написания кода.

Также в DVWA вы можете включить или отключить PHP-IDS.

PHP-IDS — это популярная PHP система обнаружения вторжений (IDS), которые также известны как файерволы веб-приложений (Web Application Firewall (WAF)). PHP-IDS работает посредством фильтрации по чёрному списку потенциально уязвимого кода любого пользовательского ввода. PHP-IDS используется в DVWA для служения живым примером, как WAF может помочь улучшить безопасность в веб-приложениях, а в Damn Vulnerable Web Application (DVWA) — случае, как WAF можно обойти. PHP-IDS может быть включена или отключена одним кликом по соответствующей кнопке.

Безопасность пользователя

DVWA не эмулирует уязвимости веб-приложений, уязвимости внутри DVWA являются настоящими и, следовательно, позаботтесь как следует о том, где вы собираетесь установить DVWA.

DVWA предпринимает активные действия для защиты пользователей где это только возможно. Об этом говорят бросающиеся в глаза надписи, в том числе в самом приложении, с предупреждениями. К DVWA можно получить доступ только из localhost, а не с удалённой машины, это выполнена настройкой определённых правил в файле .htaccess, который является частью приложения.

DVWA также содержит файл robots.txt, если приложение всё-таки было выгружено на веб-сервер с Интернет-доступом, этот файл запретит поисковым машинам индексировать приложение.

На каждой страницы, содержащей уязвимость, имеется внешние ссылки на ресурсы, которые содержат дополнительную информацию, относящуюся к конкретной уязвимости. При клике на внешние ссылки, удалённый сервер может собирать такую информацию как 'Referer' HTTP. Эта информация содержит URL, где установлено приложение, потенциально, администраторы сервера могут просматривать эту информацию и скомпрометировать сервер, где установлена DVWA. По этим причинам все внешние ссылки DVWA проходят через доверенные прокси третьей стороны, который очищает любую чувствительную информацию из HTTP заголовков.

Учётные данные для входа в DVWA:

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

Руководство по Damn Vulnerable Web Application (DVWA)

Страница man отсутствует.

Установка Damn Vulnerable Web Application (DVWA)

DVWA может быть установлена в любую систему, где присутствуют Apache, PHP и MySQL, в том числе и в Windows. Но DVWA требует PHP 5, а в большинстве современных систем по умолчанию используется PHP 7, что может вызвать затруднения при установке, либо неработоспособность некоторых или всех компонентов.

Поэтому на текущий момент рекомендуется использовать DVWA в Web Security Dojo, где DVWA уже предустановлен и доступен по адресу http://localhost/dvwa/index.php.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Damn Vulnerable Web Application (DVWA)

01

02

Обновление Damn Vulnerable Web Application (DVWA) в Samurai Web Testing Framework

DVWA в Samurai доступен в браузере по адресу http://dvwa/. Чтобы получить последнюю версию, сохраните следующий скрипт в файл upd_dvwa.sh:

#!/bin/bash  

sudo apt-get update
sudo apt-get install php5-gd -y

sudo sed -i 's/allow_url_include = Off/allow_url_include = On/' /etc/php5/apache2/php.ini

sudo service apache2 restart

cd /tmp
temp="$(curl -sL -A 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36' https://github.com/ethicalhack3r/DVWA/releases)"
if [ $? -ne '0' ]; then
	exit 1
fi

wget 'https://github.com'`echo "${temp}" | grep -o -E '/ethicalhack3r/DVWA/archive/v[0-9.]{3,}[.]zip' | head -n 1`
unzip v*.zip

sudo rm -rf /usr/share/dvwa.old/
sudo mv /usr/share/dvwa/ /usr/share/dvwa.old/
sudo mkdir /usr/share/dvwa/
sudo mv DVWA*/* /usr/share/dvwa/
sudo mv /usr/share/dvwa.old/ssl.crt /usr/share/dvwa/ssl.crt

sudo chown -R www-data:www-data /usr/share/dvwa/

sudo rm -rf DVWA*
sudo rm v*.zip

sudo sed -i 's/p@ssw0rd/samurai/' /usr/share/dvwa/config/config.inc.php

cd

Запустите файл следующим образом:

sudo bash upd_dvwa.sh

Перейдите на страницу Setup / Reset DB в DVWA и выполните сброс / пересоздание базы данных.

Обновление Damn Vulnerable Web Application (DVWA) в Web Security Dojo

DVWA в Web Security Dojo доступен в браузере по адресу http://localhost/dvwa/index.php. Чтобы получить последнюю версию, сохраните следующий скрипт в файл upd_dvwa.sh:

#!/bin/bash
  
sudo apt-get update
sudo apt-get install php-gd -y
  
sudo service apache2 restart
  
cd /tmp
temp="$(curl -sL -A 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36' https://github.com/ethicalhack3r/DVWA/releases)"
if [ $? -ne '0' ]; then
    exit 1
fi
  
git clone https://github.com/ethicalhack3r/DVWA.git

sudo rm -rf /var/www/dvwa.old/
sudo mv /var/www/dvwa/ /var/www/dvwa.old/
sudo mkdir /var/www/dvwa/
sudo mv DVWA*/* /var/www/dvwa/
  
sudo chown -R www-data:www-data /var/www/dvwa/
  
sudo rm -rf DVWA*

sudo mv /var/www/dvwa/config/config.inc.php.dist /var/www/dvwa/config/config.inc.php
sudo sed -i 's/p@ssw0rd/dojo/' /var/www/dvwa/config/config.inc.php
 
cd

Запустите файл следующим образом:

sudo bash upd_dvwa.sh

Перейдите на страницу http://localhost/dvwa/setup.php для создания / сброса базы данных, нажмите на кнопку Create / Reset Database.

Установка Damn Vulnerable Web Application (DVWA) в Kali Linux

Сохраните следующий скрипт в файл upd_dvwa.sh:

#!/bin/bash

sudo apt-get update
sudo apt-get install php php-mysql php-gd -y

sudo sed -i 's/allow_url_include = Off/allow_url_include = On/' /etc/php/7.0/apache2/php.ini

sudo systemctl restart apache2
sudo systemctl restart mysql

cd /tmp

git clone https://github.com/ethicalhack3r/DVWA.git

if [ -d "/var/www/html/dvwa.backup" ]; then
    sudo rm -rf /var/www/html/dvwa.backup
fi

if [ -d "/var/www/html/dvwa" ]; then
    sudo mv /var/www/html/dvwa /var/www/html/dvwa.backup
fi

sudo mkdir /var/www/html/dvwa
sudo mv DVWA*/* /var/www/html/dvwa/

sudo chown -R www-data:www-data /var/www/html/dvwa/

sudo rm -rf DVWA*

sudo mv /var/www/html/dvwa/config/config.inc.php.dist /var/www/html/dvwa/config/config.inc.php
sudo sed -i 's/p@ssw0rd//' /var/www/html/dvwa/config/config.inc.php

cd

Запустите файл следующим образом:

sudo bash upd_dvwa.sh

Перейдите на страницу Setup / Reset DB в DVWA и выполните сброс / пересоздание базы данных.

Теперь установленные DVWA доступны по адресу http://localhost/dvwa/

Этот же самый скрипт можно использовать для обновления DVWA по мере выхода новых версий.

После перезагрузки системы перед работой с уязвимыми приложениями не забывайте запускать Apache и MySQL:

sudo systemctl start apache2.service
sudo systemctl start mysql

Также если вы поменяли пароль для MySQL (по умолчанию пароль не используется), то установите его в файле:

  • /var/www/html/dvwa/config/config.inc.php

Инструкции по Damn Vulnerable Web Application (DVWA)

Близкие программы:

Рекомендуемые статьи: