adding validated services? patching forcad_local.py
This commit is contained in:
35
ctfcup2025-school-final/services/aws_sigma/README.md
Normal file
35
ctfcup2025-school-final/services/aws_sigma/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# AWS Sigma
|
||||
|
||||
## Описание
|
||||
|
||||
ArSib Web Services Sigma - это сервис serverless функций, напоминающий AWS Lambda. Он позволяет пользователям создавать произвольные обработчики HTTP запросов (бессерверные функции) на языке JavaScript, способные взаимодействовать с диском и базой данных.
|
||||
|
||||
## Возможности
|
||||
|
||||
- Регистрация и вход (JWT под капотом)
|
||||
- Создание и управление проектами
|
||||
- Создание и управление функциями, редактирование кода с автодополнением, просмотр логов
|
||||
- Исполнение кода функции, назначенной на определенный HTTP endpoint, на стороне сервера
|
||||
|
||||
## Реализация
|
||||
|
||||
- Бэкенд на TypeScript + NestJS реализует функции панели управления проектами и балансировщик нагрузки/очередь для запуска функций на исполнение.
|
||||
|
||||
Использует MongoDB
|
||||
|
||||
- JavaScript рантайм на Rust + Boa позволяет (не)безопасно исполнять произвольный пользовательский код на сервере с лимитами по использованию памяти и времени исполнения.
|
||||
|
||||
Использует PostgreSQL для хранения пользовательских данных
|
||||
|
||||
- Веб-панель управления на TypeScript + React
|
||||
|
||||
## Уязвимости
|
||||
|
||||
- Arbitrary file access через API файловой системы для пользовательских функций
|
||||
-> Доступ к сгенерированному JWT токену в /etc/sigma/jwt.secret
|
||||
- Недостаточная валидация доступа к базе данных через API для пользовательских функций -> доступ к данным других проектов
|
||||
- NoSQL инъекция в обработчике GET /api/v1/projects через get query
|
||||
- NoSQL инъекция в практически любом обработчике через подделку JWT токена
|
||||
- DoS by design при выполнении пользовательских функций.
|
||||
|
||||
Предусмотрены опции рантайма для быстрого закрытия уязвимости
|
||||
Reference in New Issue
Block a user