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

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

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

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

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

Категории

Все категории
Loading categories
gha-lab-e4a85583c3 — Лаборатория исследований безопасности, воспроизводящая CVE-2020-36762 (GHSA-h9gr-83jq-f3xc): внедрение bash-команд через github.event.comment.body в workflow комментариев ONSdigital/ras-collection-instrument | Kitploit
Инструменты/GitHubGitHub/pvharmo2/gha-lab-e4a85583c3
Анализ уязвимостейЭксплуатацияОбучение и ОбразованиеПодобранные Ресурсы
GitHubpvharmo2/gha-lab-e4a85583c3

gha-lab-e4a85583c3

Лаборатория исследований безопасности, воспроизводящая CVE-2020-36762 (GHSA-h9gr-83jq-f3xc): внедрение bash-команд через github.event.comment.body в workflow комментариев ONSdigital/ras-collection-instrument

Репозиторий
16 ч 57 мин назадЕщё не проверено

Популярное

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

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

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

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

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

Автоматически созданный исследовательский артефакт — не вышестоящий проект.

Этот репозиторий — одноразовая лабораторная среда, созданная автоматизированным конвейером для магистерской диссертации в Université Laval по воспроизведению опубликованных уязвимостей рабочих процессов GitHub Actions. Это дословный снимок ONSdigital/ras-collection-instrument на коммите 493dc3d7c85f39c44e879941df9d5682865da109 (2020-12-03), распространённый под собственной лицензией этого проекта, файл которой включён в этот снимок без изменений.

Вышестоящий проект не участвует, никогда не является целью, а изучаемая здесь уязвимость уже публична. Каждый секрет и переменная в этом репозитории — случайно сгенерированные фиктивные значения — никаких реальных учётных данных здесь нет. Ссылки на действия и образы раннеров закреплены на те значения, которые они имели на 2020-12-03; см. pinning.md в выводе конвейера для каждого изменения, внесённого в снимок.

Вопросы или возражения: [email protected]


RAS Collection Instrument

Build Status Codacy Badge

Обзор

Это микросервис RAS Collection Instrument, отвечающий за загрузку упражнений по сбору данных и инструментов сбора. Его также можно использовать для загрузки инструментов сбора в виде файлов .xlsx, а также он позволяет искать инструменты сбора с помощью фильтров поиска. Этот сервис имеет возможность связывать и отвязывать упражнения по сбору данных от инструментов сбора. Связь между упражнениями и инструментами — «один ко многим», то есть одно упражнение по сбору данных может иметь несколько инструментов сбора. Каждый инструмент сбора в JSON-схеме имеет ссылку на единицу выборки, тип и идентификатор сводки, а также дополнительные атрибуты. Этот сервис взаимодействует в первую очередь с сервисом упражнений по сбору данных, а также с сервисами party, case и survey. Информация журналирования об инструментах сбора отправляется в rabbitmq.

Инструменты сбора хранятся в таблице инструментов со следующими полями:

type = тип упражнения по сбору данных (например, SEFT, EQ и т. д.) instrument_id = UUID инструмента stamp = временная метка, показывающая, когда был создан инструмент сбора survey_id = UUID связанного обследования classifiers = классификаторы обследования survey = само обследование seft_file = файл SEFT инструмента

Существуют три различные конечные точки представления: /collectioninstrument, которая используется для большинства конечных точек, а также /survey_responses и /info.

Когда инструмент сбора загружается для упражнения по сбору данных, он записывает сообщение в очередь Seft.Instruments для сервиса rm-collection-exercise. Когда загружается ответ на обследование SEFT, он записывает сообщение в очередь Seft.Responses для сервиса sdx-seft-consumer.

Окружение

Для этого требуется установленный pipenv:

root@kitploit:~
pip install pipenv

Тесты

Для запуска тестов требуется сервер rabbitmq и база данных. Скрипт tox создаёт и запускает эти зависимости внутри Docker-контейнеров, которые уничтожаются после выполнения модульных тестов.

root@kitploit:~
pipenv install --dev
pipenv run tox

Для запуска сервиса с необходимыми зависимостями:

root@kitploit:~
docker-compose up -d db rabbitmq
pipenv run python run.py

Чтобы проверить, что сервис работает:

root@kitploit:~
curl http://localhost:8082/info

База данных будет создана автоматически при запуске приложения.

Docker

Для запуска сервиса в Docker-контейнере включён скрипт Compose:

root@kitploit:~
docker-compose up -d

Конфигурация

Переменные окружения, доступные для настройки, перечислены ниже:

Переменная окруженияОписаниеПо умолчанию
MAX_UPLOAD_FILE_NAME_LENGTHМаксимальная длина имён файлов50
LOGGING_LEVELУровень журналированияINFO
JSON_SECRET_KEYSJSON-представление ключейNone
ONS_CRYPTOKEYКлюч, используемый CryptographerNone
SECURITY_USER_NAMEИмя пользователя, которое клиент использует для аутентификации в других APIadmin
SECURITY_USER_PASSWORDПароль, который клиент использует для аутентификации в других APIsecret
COLLECTION_EXERCISE_SCHEMAРасположение схемы инструмента сбораapplication/schemas/collection_instrument_schema.json
CASE_URLURL сервиса case'http://localhost:8171'
COLLECTION_EXERCISE_URLURL сервиса упражнений по сбору данных'http://localhost:8145'
SURVEY_SERVICE_URLURL сервиса обследований'http://localhost:8080'
PARTY_URLURL сервиса party'http://localhost:8081'
RABBITMQ_AMQP_COLLECTION_INSTRUMENTURI для rabbitmqNone
RABBITMQ_AMQP_SURVEY_RESPONSEURI для rabbitmqNone

Они задаются в config.py

Загрузка тестовых инструментов сбора

Перейдите в /developer_scripts и запустите import.py, отвечайте на запросы в командной строке

Предложения по улучшению

  • В collection_instrument_schema есть два, казалось бы, идентичных поля атрибутов: formType и formtype.
  • Касательно предыдущего пункта: многие атрибуты в схеме имеют неясные названия и назначения, например entname1/2/3 и runame1/2/3, среди прочих. Схему следует переработать или снабдить более подробной документацией.
  • Пара конечных точек имеют довольно бесполезную функциональность. Например, вся конечная точка /collectioninstrument/count просто возвращает количество инструментов сбора. Зачем сервису это нужно? Разве это нельзя сделать запросом к базе данных?
  • Учитывая сильную зависимость сервиса от упражнений по сбору данных, нельзя ли объединить этот сервис с сервисом упражнений по сбору данных при редизайне ras-rm?
Скачать инструмент