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

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

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

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

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

Категории

Все категории
Loading categories
graphicator — Автоматизированный инструмент для перечисления схем GraphQL и извлечения данных, который перебирает документы самоанализа (introspection), реконструирует запросы и сохраняет ответы для тестирования на проникновение и оценки безопасности API. | Kitploit
Инструменты/GitHubGitHub/cybervelia/graphicator
Тестирование безопасности APIСбор информацииВеб-безопасностьТестирование на Проникновение
GitHubcybervelia/graphicator

graphicator

Автоматизированный инструмент для перечисления схем GraphQL и извлечения данных, который перебирает документы самоанализа (introspection), реконструирует запросы и сохраняет ответы для тестирования на проникновение и оценки безопасности API.

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

Популярное

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

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

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

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

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

Graphicator

Graphicator — это «скрапер» / экстрактор GraphQL. Инструмент перебирает документ интроспекции, возвращаемый целевой GraphQL-конечной точкой, а затем перестраивает схему во внутреннюю форму, чтобы иметь возможность воссоздать поддерживаемые запросы. Когда такие запросы создаются, они используются для отправки запросов к конечной точке, а полученный ответ сохраняется в файл.

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

Используйте его с умом и только для целей, на взаимодействие с которыми у вас есть разрешение.

Мы надеемся, что инструмент автоматизирует ваши собственные тесты в качестве пентестера и даст толчок даже тем, кто ещё не занимается тестированием GraphQL.

Чтобы узнать, как проводить оценку конечных точек GraphQL: https://cybervelia.com/?p=736&preview=true

Установка

Установка в вашу систему

root@kitploit:~
python3 -m pip install -r requirements.txt

Использование контейнера

root@kitploit:~
docker run --rm -it -p8005:80 cybervelia/graphicator --target http://the-target:port/graphql --verbose

После завершения задачи инструмент упаковывает результаты в zip-архив, и этот архив становится доступен через веб-сервер на порту 8005. Чтобы остановить контейнер, нажмите CTRL+C. При остановке контейнера данные также удаляются. Вы также можете изменить порт хоста по своему усмотрению.

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

root@kitploit:~
python3 graphicator.py [аргументы...]

Настройка цели

Первый шаг — настроить цель. Для этого вы должны указать либо опцию --target, либо файл с помощью --file.

Установка одной цели через аргументы

root@kitploit:~
python3 graphicator.py --target https://subdomain.domain:port/graphql

Установка нескольких целей

root@kitploit:~
python3 graphicator.py --target https://subdomain.domain:port/graphql --target https://target2.tld/graphql

Установка целей через файл

root@kitploit:~
python3 graphicator.py --file file.txt

Файл должен содержать один URL на строку, например:

root@kitploit:~
http://target1.tld/graphql
http://sub.target2.tld/graphql
http://subxyz.target3.tld:8080/graphql

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

Вы можете подключить инструмент к любому прокси.

Подключение к настройкам Burp по умолчанию (порт 8080)

root@kitploit:~
python3 graphicator.py --target target --default-burp-proxy

Подключение к вашему собственному прокси

root@kitploit:~
python3 graphicator.py --target target --use-proxy

Подключение через Tor

root@kitploit:~
python3 graphicator.py --target target --use-tor

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

root@kitploit:~
python3 graphicator.py --target target --header "x-api-key:60b725f10c9c85c70d97880dfe8191b3"

Включение подробного вывода

root@kitploit:~
python3 graphicator.py --target target --verbose

Включение многопоточности

root@kitploit:~
python3 graphicator.py --target target --multi

Отключение предупреждений для небезопасных и самоподписанных сертификатов

root@kitploit:~
python3 graphicator.py --target target --insecure

Отказ от использования кешированных результатов

root@kitploit:~
python3 graphicator.py --target target --no-cache

Пример

root@kitploit:~
python3 graphicator.py --target http://localhost:8000/graphql --verbose --multi

  _____                  __    _             __           
 / ___/____ ___ _ ___   / /   (_)____ ___ _ / /_ ___   ____
/ (_ // __// _ `// _ \ / _ \ / // __// _ `// __// _ \ / __/
\___//_/   \_,_// .__//_//_//_/ \__/ \_,_/ \__/ \___//_/   
               /_/                                         

Автор: @fand0mas

[-] Целей:  1
[-] Заголовки:  'Content-Type', 'User-Agent'
[-] Подробный вывод
[-] Использование кеша: True
************************************************************
  0%|                                                     | 0/1 [00:00<?, ?it/s][*] Перечисление... http://localhost:8000/graphql
[*] Извлечение... => query {getArticles  { id,title,views } }
[*] Извлечение... => query {getUsers  { id,username,email,password,level } }
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00, 35.78it/s]
root@kitploit:~
$ cat reqcache/9652f1e7c02639d8f78d1c5263093072fb4fd06c.json 
{
    "data": {
        "getUsers": [
            {
                "id": 1,
                "username": "theo",
                "email": "[email protected]",
                "password": "1234",
                "level": 1
            },
            {
                "id": 2,
                "username": "john",
                "email": "[email protected]",
                "password": "5678",
                "level": 1
            }
        ]
    }
}
root@kitploit:~
$ cat reqcache-queries/9652f1e7c02639d8f78d1c5263093072fb4fd06c.query 
query {getUsers  { id,username,email,password,level } }

Структура вывода

Создаются три папки:

  • reqcache: Ответ каждого валидного запроса сохраняется в формате JSON
  • reqcache-intro: Все запросы интроспекции сохраняются в отдельный файл в этом каталоге
  • reqcache-queries: Все запросы сохраняются в отдельный файл в этом каталоге. Имя файла каждого запроса будет соответствовать имени соответствующего файла в каталоге reqcache, который содержит ответ на этот запрос.

Имя файла — это хэш, учитывающий запрос и URL.

Лицензия и EULA

Copyright 2023 Cybervelia Ltd

Настоящим предоставляется бесплатное разрешение любому лицу, получающему копию данного программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), на использование Программного обеспечения без ограничений, включая, без ограничений, права на использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешение лицам, которым предоставляется данное Программное обеспечение, делать это при соблюдении следующих условий:

Указанное выше уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ИНУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ ТО В СИЛУ ДОГОВОРА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКШИЕ ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ЕГО ИСПОЛЬЗОВАНИЕМ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Разработчик

Инструмент создан и поддерживается (@fand0mas).

Вклад также приветствуется.

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