В статье описывается поэтапно как установить DVWA в Кали Линукс 2017. Это PHP/MySQL приложение, которое нарочито пронизано уязвимостями, чтобы мы с вами могли просто потренироваться для приобретения специальных навыков.
http://www.dvwa.co.uk/
/var/www/html/
chmod -R 777 dvwa
На секунду отвлеку. Сами разработчики косвенно, а некоторые “супер-хакеры” уверяют, что DVWA работает только с php 5 версии. В Кали давно сидит версия php7, и потому некоторые советуют её удалить, а затем поставить 5-ю версию. Это слишком, а потому я попробовал обе версии совместить. Мне неизвестно, насколько корректно работала бы DVWA без телодвижений из следующего абзаца, но я всё-таки добавил пакеты уже не поддерживаемого PHP 5.6.30 к своей Debian 9 вот этими командами из терминала:
apt-get install apt-transport-https lsb-release ca-certificates wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list apt-get update
Однако на пробы об установленной в Кали версии php ничего, кроме той же php 7 не отозвалось:
dpkg -l | grep php
В этой сборке никаких манипуляций с php здесь проводить нам вообще не придётся.
Сразу открываем его и находим строчку:
$_DVWA[ ‘db_password’ ]
Вычищаем символы password, оставив только одинарные кавычки, обеспечив доступ к пользователю root (если вы будете работать из-под другого пользователя, придётся сменить строчкой выше и root-а на имя пользователя, позже присвоив ему права; я этого делать не собираюсь, так что пропускаем ход). В этом пункте, однако, вас могут подстерегать некоторые ошибки (последний абзац).
service mysql start && service apache2 start
mysql -u root -p
Поле Enter password пропускаем, нажав Enter. Вводим команду:
create database dvwa;
проверьте, появилась ли она в числе остальных:
show databases
выходим командой exit.
Здесь снова отступление. Разрабы DVWA настаивают на том, что из-под root пользователя, работая с базой Maria, ничего из последующего не выйдет. И для работы необходимо создать базу данных, доступную отдельно для имени другого пользователя. По этому поводу некоторая информация появится в разделе Вероятные ошибки.
service mysql restart && service apache2 restart
leafpad /etc/php/7.0/apache2/php.ini
Надеюсь, вы не открыли пустой документ
Это должно исправить разрешения на недостающую функцию php.
apt-get install php-gd
Перезагрузим страницу, по необходимости снова рестартуйте оба сервиса. Все позиции, кроме ключа recaptcha должны окраситься в зелёный:
https://www.google.com/recaptcha/admin
А вот и они:
Вводим оба в соответствующие поля в известном нам документе, открытом через терминал:
leafpad /var/www/html/dvwa/config/config.inc.php
Перезагрузим страницу в DVWA браузере и проверим:
Теперь момент истины: внизу нас ждёт кнопка Create/Reset Datebase. Жмём, и внизу страницы мы должны увидеть поля ввода информации о регистрации нового пользователя. Эта страница автоматически перенаправит вас на страницу регистрации, где вы должны заполнить поля как admin и ввести пароль password и, поиграв со сложностью степени уязвимости приложения в DVWA Security (выбирайте low), можете приступать к тренировкам.
Практически все сложности крутятся вокруг только двух настроек. Это:
Could not connect to the MySQL service. Please check the config file dvwa.
О версии PHP
Повторюсь, в Кали 2016 проблема для меня оказалась неразрешимой. Страница Instructions DVWA прямо указывает на то, что для корректной работы необходимо использовать версию php5, тут же давая при этом пример команды apt-get, которая поможет скачать необходимые пакеты.
Пока я пытался установить DVWA в Кали, мне результаты всегда возвращали сообщение о том, что такие пакеты уже недоступны. Теоретически их можно скачать указанными выше командами, но, опять же повторюсь, для меня всё закончилось бестолково. Однако, перейдя на следующую версию Кали Rolling 2017 о проблеме совместимости версий “пхп” я сразу забыл. Что делал не так, не понимаю до сих пор.
Ошибка Could not connect to the MySQL service…
Здесь проще, однако пользователя могут сбить не столько настройки указанного файла, сколько отсутствие опыта обращения с БД, в частности установленной в Debian MariaDB. Разрабы DVWA на той же странице по ссылке Instructions заставляют пользователей Кали создать пользователя не-root, и передать ему необходимые привилегии. Если ошибка Could not connect to the MySQL service стала для вас непреодолимым размером, сделайте так:
mysql_secure_installation
чтобы не путаться, я поставил его таким же как и на учётку root (при вводе, напомню, пароль не отображается):
Проверьте, что ваши настройки выглядят так, как на фото. А теперь, когда пароль на MariaDB задан, повторите процедуру конфигурации базы dvwa и настроек файла примерно так (“тупо” не повторяйте, а следите за логикой):
service mysql restart && service apache2 restart mysql -u root -p grant all on dvwa.* to dvwa@localhost identified by '1'; flush privileges; quit
Сохранимся. Перезагрузим сервисы и веб-страницу с DVWA. Пробуем. Если “что-то кое-где у вас порой…”, почаще перезагружайте страницу и оба сервиса.
Успехов.