Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
explo — Человеко- и машинно-читаемый формат тестирования веб-уязвимостей | Kitploit
Инструменты/GitHubGitHub/telekom-security/explo
Анализ уязвимостейСкриптинг и автоматизацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеArchived
GitHubtelekom-security/explo

explo

Человеко- и машинно-читаемый формат тестирования веб-уязвимостей

Репозиторий
19549103 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

explo

screenshot

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

Пример извлечения csrf-токена и его использования в форме:

root@kitploit:~
name: get_csrf
description: извлечь csrf-токен
module: http
parameter:
    url: http://example.com/contact
    method: GET
    header:
        user-agent: Mozilla/5.0
    extract:
        csrf: [CSS, "#csrf"]
---
name: exploit
description: эксплуатирует уязвимость SQL-инъекции с валидным csrf-токеном
module: http
parameter:
    url: http://example.com/contact
    method: POST
    body:
        csrf: "{{get_csrf.extracted.csrf}}"
        username: "' SQL INJECTION"
    find: You have an error in your SQL syntax

Содержание

  • Установка
  • Использование
  • Модули
    • HTTP (базовый)
    • HTTP (заголовки)
    • SQLI (слепой)
    • Метаданные
  • В этом примере файла определения проблема безопасности проверяется путём выполнения двух шагов, которые выполняются сверху вниз. Последний шаг возвращает успех или неудачу в зависимости от того, найдена ли строка 'You have an error in your SQL syntax'.

    Установка

    Установка через PyPI

    root@kitploit:~
    pip install explo
    

    Установка из исходников

    root@kitploit:~
    git clone https://github.com/dtag-dev-sec/explo
    cd explo
    python setup.py install
    

    Использование

    root@kitploit:~
    explo [--verbose|-v] testcase.yaml
    explo [--verbose|-v] examples/*.yaml
    

    В папке examples/ есть несколько примеров тестовых сценариев.

    root@kitploit:~
    $ explo examples/SQLI_simple_testphp.vulnweb.com.yaml
    

    Вы также можете использовать explo как библиотеку Python:

    root@kitploit:~
    from explo.core import from_content as explo_from_content
    from explo.core import ExploException, ProxyException
    
    def save_log(msg):
        print(msg)
    
    try:
        result = explo_from_content(explo_yaml_file, save_log)
    except ExploException as err:
        print(err)
    

    Опции

    HTTP/HTTPS прокси и таймаут для запросов можно задать через переменные окружения. Таймаут по умолчанию — 15 секунд.

    root@kitploit:~
    $ export http_proxy=http://proxy:8089
    $ export https_proxy=https://proxy:8090
    $ export timeout=10
    $ explo ...
    

    Модули

    Модули могут быть добавлены для расширения функциональности и классов уязвимостей.

    http (базовый)

    Модуль http позволяет выполнить HTTP-запрос, извлечь содержимое и выполнить поиск/проверку содержимого.

    Следующие данные становятся доступны для следующих шагов:

    • тело HTTP-ответа: stepname.response.content
    • cookies HTTP-ответа: stepname.response.cookies
    • извлечённое содержимое: response.extracted.variable_name

    Если задан параметр find_regex, выполняется поиск по регулярному выражению в теле ответа. Если он не срабатывает, модуль возвращает неудачу и останавливает выполнение текущего рабочего процесса (и всех шагов).

    При извлечении с помощью регулярных выражений используйте группу захвата extract, чтобы пометить извлекаемое значение (см. пример ниже).

    Для ссылки на cookies укажите имя предыдущего шага, из которого нужно взять cookies (cookies: the_other_step.response.cookies).

    Примеры параметров:

    root@kitploit:~
    parameter:
        url: http://example.com
        method: GET
        allow_redirects: True
        headers:
            User-Agent: explo
            Content-Type: abc
        cookies: stepname.response.cookies
        body:
            key: value
        find: искать строку
        find_regex: искать (reg|ular)expression
        find_in_headers: искать строку в заголовках
        expect_response_code: 200
        extract:
            variable1: [CSS, '#csrf']
            variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']
    

    http_header

    Модуль http_header позволяет проверить, отсутствует ли в ответе определённый набор заголовков (и значений). Все остальные параметры идентичны модулю http.

    Следующие данные становятся доступны для других модулей:

    • тело HTTP-ответа: stepname.response.content
    • cookies HTTP-ответа: stepname.response.cookies

    Примеры параметров:

    root@kitploit:~
    parameter:
        url: http://example.com
        method: GET
        allow_redirects: True
        headers:
            User-Agent: explo
            Content-Type: abc
        body:
            key: value
        headers_required:
            X-XSS-Protection: 1
            Server: .               # все значения допустимы
    

    sqli_blind

    Модуль sqli_blind способен обнаруживать слепые SQL-инъекции на основе временных задержек.

    Следующие данные становятся доступны для других модулей:

    • тело HTTP-ответа: stepname.response.content
    • cookies HTTP-ответа: stepname.response.cookies

    Примеры параметров:

    root@kitploit:~
    parameter:
        url: http://example.com/vulnerable.php?id=1' waitfor delay '00:00:5'--
        method: GET
        delay_seconds: 5
    

    Если порог в 5 секунд (delay_seconds) превышен, проверка возвращает true (и, следовательно, успех).

    metadata

    Блок metadata — это специальный блок, который может быть добавлен как первый блок в .yaml файл для добавления метаданных к уязвимости для дальнейшей обработки. Это полезно, когда explo используется как библиотека, а метаданные для каждого описания уязвимости могут быть прочитаны с помощью meta_from_content(content). Этот модуль не требует имени или описания.

    Примеры:

    root@kitploit:~
    module: metadata
    parameter:
        cvss: 8.9
        author: Robin Verton
    ---
    name: login
    description: вход с тестовыми учётными данными
    module: http
    parameter:
        url: http://testphp.vulnweb.com/userinfo.php
        method: POST
        body:
            uname: test
            pass: test
    
    Скачать инструмент