На интересном ресурсе был представлен SQLMAP-Web-GUI. Это графический интерфейс для программы sqlmap (предназначенной для анализа веб-приложений на SQL-инжекты).
У этой утилиты открытый исходный код, есть парочка симпатичных видео (можно найти по приведённой ссылке). Я сам до сих пор не овладел в полной мере sqlmap и, конечно же, было бы интересно посмотреть и на графический интерфейс.
Ещё во время установки мне показалось, что больно уж всё заморочено — может быть потратить это время на чтение справки sqlmap? Давайте смотреть вместе.
Установка SQLMAP-Web-GUI на Kali Linux
Автор нигде этого не говорит, но для сервера нужна реализация JSON для PHP. Ставим этот пакет:
apt-get install php-services-json
Следующая большая команда запустит Apache и MySQL, скачает необходимые файлы и откроет файл для редактирования.
service apache2 start && service mysql start && svn checkout /var/www/sqlmap && leafpad /var/www/sqlmap/inc/config.php
(Внимание, эта команда затирает конфиг, если вы уже всё настроили, то сервер запускайте так: service apache2 start && service mysql start)
В открывшемся файле всё стираем, а записываем туда следующее:
<?php // App Version Tracker define('GUI_VERSION', '0.01b'); // API URL to Connect to, default: http://127.0.0.1:8775/ define('API_URL', 'http://127.0.0.1:8775/'); // Path to where the core SQLMAP python files can be found // i.e. sqlmap.py, sqlmapapi.py, extra/, tamper/, etc define('SQLMAP_BIN_PATH', '/usr/bin/sqlmap'); // Path to SQLMAP's Default Output Directory define('SQLMAP_OUTPUT_PATH', '/root/.sqlmap/'); // Define where to write our local scan file archives to define('TMP_PATH', '/tmp/sqlmap/'); // Path to the local Metasploit directory // May be used to generate shellcode for advanced exploit functionalities // May also use for building of reverse shell payloads for file writer, tbd... define('MSF_PATH', '/opt/metasploit/'); // Admin Username & Password // *For future admin panel to flush and kill scan tasks.... define('ADMIN_USER', 'admin'); define('ADMIN_PASS', 'admin'); ?>
По какому-ту наитию, авторы Kali Linux забыли положить файл sqlmapapi.py (хотя в исходных кодах он есть). Исправляем этот просчёт:
wget https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/sqlmapapi.py -O /usr/share/sqlmap/sqlmapapi.py
Запускаем сервер API sqlmap:
cd /usr/share/sqlmap/ && python /usr/share/sqlmap/sqlmapapi.py -s
После этого в браузере нужно перейти по адресу http://127.0.0.1/sqlmap/
Можно набрать в консоли:
iceweasel http://127.0.0.1/sqlmap/index.php
Главное окно выглядит симпатично и даже стильно:
После очень долгих мучений мне удалось заставить работать эту программу:
(первые результаты сканирования: сайт уязвим, хотя я это знал и так).
Выводы по SQLMAP-Web-GUI
- Судя по всему, эта программа не тестировалась на Kali Linux, что привело к большой трате времени с решением возникших при её установки проблем.
- Программа не выводит сообщений о происходящем вплоть до окончания процесса. В связи с этим, если вы выбрали, например, дамп базы при слепом SQL-инжекте (процесс может занять ОЧЕНЬ много времени), то всё это время вы будете ожидать в полном неведении что же происходит. Напомню, сама sqlmap намного более информативна в этом плане.
- Да и с английским меню не очень удобно — те, кто знает английский, прочитают справку по консольной версии — пользы будет больше.
- Я не увидел какого-то прорыва. Честно говоря, для меня это ещё один бесполезный графический интерфейс к очень хорошей программе. К сожалению, большинство этих графических интерфейсов не несут новых функций, бывают очень глючными и, на самом деле, мало кто ими пользуется.
Отличный мануал, но у меня не все получилось.
root@kali:~# python /usr/share/sqlmap/sqlmapapi.py -s
[18:32:33] [INFO] Running REST-JSON API server at '127.0.0.1:8775'..
[18:32:33] [INFO] Admin ID: 1c952759513cd1a4fae7e023208807b9
[18:32:33] [DEBUG] IPC database: /tmp/sqlmapipc-Y4WwsM
[18:32:33] [DEBUG] REST-JSON API server connected to IPC database
[18:33:18] [DEBUG] Created new task: '4618cc754b7ae6a8'
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Requested to set options
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Retrieved value for option url
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Started scan
[18:33:18] [DEBUG] [4618cc754b7ae6a8] Retrieved scan status
python: can't open file 'sqlmap.py': [Errno 2] No such file or directory
[18:33:19] [DEBUG] [4618cc754b7ae6a8] Retrieved scan status
[18:33:19] [DEBUG] [4618cc754b7ae6a8] Retrieved scan data and error messages
[18:33:19] [DEBUG] [4618cc754b7ae6a8] Retrieved scan log messages
[18:33:19] [DEBUG] [4618cc754b7ae6a8] Deleted task
Это вижу в консоле после попытки запуска скана в веб-гуи.
В чем может быть проблема? Заранее благодарю за ответ.
Я проделал всё заново на системе, где ещё не было SQLMAP-Web-GUI, нашёл в инструкции две ошибки — теперь всё заработало.
Попробуйте ещё раз всё сделать по обновлённой инструкции — должно получиться.
Перед началом, удалите уже скаченные файлы SQLMAP-Web-GUI:
сделал все по инструкции
при открытии в браузере пишет
Not Found
The requested URL /sqlmap/ was not found on this server.
Apache/2.4.18 (Debian) Server at 127.0.0.1 Port 80