CB exploiting-mass-assignment-in-rest-apis
Обнаруживает и эксплуатирует массовое присваивание (автоматическое связывание) в REST API путем внедрения неожиданных или скрытых параметров (например, role, isAdmin, plan) в запросы на создание/обновление, используя Burp Suite Intruder, Arjun и param-miner для поиска связываемых полей в конечных точках на основе ORM (Rails, Django, Laravel, Spring). Используйте при тестировании REST API на повышение привилегий или обход авторизации через непреднамеренное связывание параметров.
машинный переводПоказать оригиналСкрыть оригинал«Discovers and exploits mass assignment (autobinding) in REST APIs by i…»
Discovers and exploits mass assignment (autobinding) in REST APIs by injecting unexpected or hidden parameters (e.g. role, isAdmin, plan) into create/update requests, using Burp Suite Intruder, Arjun, and param-miner to find bindable fields on ORM-backed endpoints (Rails, Django, Laravel, Spring). Use when testing REST APIs for privilege escalation or authorization bypass via unintended parameter binding.
Обнаруживает и эксплуатирует массовое присваивание (автоматическое связывание) в REST API путем внедрения неожиданных или скрытых параметров (например, role…
Как процесс B 67/100 · Почти готов — слабые места: когда включается, ошибки и развилки, повторный запуск
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 7
✓ Критических и высоких находок нет
Средние и низкие: 7
-
низкая Рискованное назначение
intent-offensive-securityreferences/api-reference.md:13Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)| `role` / `isAdmin` | Privilege escalation |
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:8Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)REST APIs for privilege escalation or authorization bypass via unintended
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:42Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- During bug bounty hunting on applications with CRUD API operations
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:77Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)### Step 2 — Test Privilege Escalation via Role Fields
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:216Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)1. **Admin Privilege Escalation** — Inject `"role":"admin"` or `"isAdmin":true` in profile update to gain administrative access
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:233Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)| 1 | PATCH /api/users/me | role | "user" | "admin" | Privilege Escalation |
Ещё 1 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 4. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "domain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "subdomain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "nist_csf" - заметка
frontmatter-keyнеизвестное поле фронтматтера "mitre_attack"
Процессный рейтинг: все десять параметров 67/100
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 16
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2139 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- -41 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
- -31 из 1 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +3Длина description 408 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 14 заголовков
- +3Пошаговые инструкции: 16 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (7 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 78.