What problem does it solve?
Applications that spread attacker-controlled request data directly into ORM query builders (Django, Prisma, Beego, Ransack, Entity Framework/OData) allow attackers to smuggle operators and traverse relations, leaking hidden columns like password hashes, reset tokens, and TOTP secrets. This Skill guides authorized testers through identifying, confirming, and exploiting these ORM Leak vulnerabilities.
Core Features & Use Cases
- Framework-Specific Payloads: Ready-to-use injection patterns for Django
filter(**request.data), Prisma findMany(req.body), Beego QuerySeter.Filter(), Ransack, and OData $filter endpoints.
- Multiple Oracle Types: Build boolean, error-based, and timing (ReDoS/CONTAINS_LIST) oracles to exfiltrate secrets character by character even when no data is echoed.
- Auth Bypass & Deny-List Evasion: Smuggle operator objects into equality checks (e.g., reset tokens) and bypass validators that only check the first
__ segment.
- Use Case: During an authorized pentest, you find a search endpoint running
Article.objects.filter(**request.data). Send {"created_by__user__password__startswith":"p"} and iterate characters to recover the related user's password hash through result-set changes.
Quick Start
Ask the AI to test the target's search or filter endpoint for ORM injection by probing relational field traversal and operator smuggling payloads.