SQLMAP-Web-GUI: графический интерфейс для SQLMAP

На интересном ресурсе был представлен 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

Главное окно выглядит симпатично и даже стильно:

05

После очень долгих мучений мне удалось заставить работать эту программу:

06

(первые результаты сканирования: сайт уязвим, хотя я это знал и так).

Выводы по SQLMAP-Web-GUI

  • Судя по всему, эта программа не тестировалась на Kali Linux, что привело к большой трате времени с решением возникших при её установки проблем.
  • Программа не выводит сообщений о происходящем вплоть до окончания процесса. В связи с этим, если вы выбрали, например, дамп базы при слепом SQL-инжекте (процесс может занять ОЧЕНЬ много времени), то всё это время вы будете ожидать в полном неведении что же происходит. Напомню, сама sqlmap намного более информативна в этом плане.
  • Да и с английским меню не очень удобно — те, кто знает английский, прочитают справку по консольной версии — пользы будет больше.
  • Я не увидел какого-то прорыва. Честно говоря, для меня это ещё один бесполезный графический интерфейс к очень хорошей программе. К сожалению, большинство этих графических интерфейсов не несут новых функций, бывают очень глючными и, на самом деле, мало кто ими пользуется.

3 комментария к “SQLMAP-Web-GUI: графический интерфейс для SQLMAP”

  1. Отличный мануал, но у меня не все получилось.

    [email protected]:~# 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:

      rm -rf /var/www/sqlmap/
      
      Ответить
  2. сделал все по инструкции
    при открытии в браузере пишет
    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

    Ответить

Оставьте комментарий