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

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

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

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

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

Категории

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

explo

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

Репозиторий
195493 лет назадПроверено 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
Скачать инструмент