yaklang/api-authorization-and-bola

Manual de testes de autorização de API e BOLA. Use quando APIs expõem identificadores de objetos, recursos aninhados, campos ocultos graváveis ou autorização fraca em nível de função.

O que é api-authorization-and-bola?

Este skill é um guia prático para testar autorização de APIs e vulnerabilidades BOLA (Broken Object Level Authorization), também conhecida como IDOR. Ele é projetado para ser usado com ferramentas como Yaklang, ajudando desenvolvedores e testadores de segurança a identificar falhas comuns onde objetos, recursos ou funções são expostos sem controles de acesso adequados. O skill abrange cenários como exposição de identificadores de objetos em URLs, acesso a recursos aninhados, detecção de campos ocultos que podem ser modificados, e autorização fraca em nível de função (BFLA). A documentação fornece uma estrutura passo a passo, incluindo exemplos de payloads, ferramentas recomendadas (como o Yakit) e boas práticas para validação manual e automatizada. É útil para qualquer profissional que trabalhe com segurança de APIs REST ou GraphQL e queira garantir que apenas usuários autorizados possam acessar ou modificar dados.

Funciona com~Claude Code~Codex CLI~Cursor
Part ofMobile
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/api-authorization-and-bola

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que api-authorization-and-bola faz?

Manual de testes de autorização de API e BOLA. Use quando APIs expõem identificadores de objetos, recursos aninhados, campos ocultos graváveis ou autorização fraca em nível de função.

Visão Geral

Este skill fornece uma metodologia para identificar e explorar vulnerabilidades de autorização em APIs, focando especialmente em Broken Object Level Authorization (BOLA) (também conhecido como IDOR) e Broken Function Level Authorization (BFLA). Ele é compatível com ferramentas como Yaklang e Yakit para automação de testes.

Cenários de Teste

  1. Identificadores de Objetos: Testar se é possível acessar recursos de outros usuários alterando IDs em parâmetros de URL ou corpo da requisição (ex: /api/user/123 alterado para /api/user/456).
  2. Recursos Aninhados: Verificar se acessar caminhos como /api/users/{id}/orders permite visualizar pedidos de outros usuários sem autorização.
  3. Campos Ocultos Graváveis: Identificar campos não documentados em respostas JSON que podem ser modificados para escalar privilégios (ex: "role": "user" alterado para "role": "admin").
  4. Autorização Fraca em Funções: Testar endpoints administrativos ou restritos (ex: /api/admin/users) com tokens de usuários comuns.

Ferramentas Recomendadas

  • Yaklang: Para criar scripts de teste automatizados.
  • Yakit: Para interceptação e modificação de requisições.
  • Burp Suite ou Postman: Para análise manual.

Exemplo de Payload (Yaklang)

// Exemplo de teste BOLA com Yaklang
rsp, req = poc.POC("GET", "https://api.exemplo.com/users/1/profiles", {
    headers: {
        "Authorization": "Bearer token_invalido",
    },
})
if rsp.StatusCode == 200 {
    println("Possível vulnerabilidade BOLA detectada!")
}

Boas Práticas

  • Sempre autentique-se com diferentes níveis de permissão durante os testes.
  • Documente todos os endpoints testados e resultados.
  • Verifique se a aplicação retorna mensagens de erro genéricas (evitar vazamento de informações).
  • Teste em um ambiente controlado antes de produção.

Referências


Este skill é parte do ecossistema de skills para ferramentas de IA agêntica.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/android-pentesting-tricks

Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/classical-cipher-analysis

Classical cipher analysis playbook. Use when encountering substitution ciphers, Vigenere, transposition, XOR, or encoded text in CTF challenges that requires frequency analysis, Kasiski examination, or known-plaintext cryptanalysis.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

yaklang/cmdi-command-injection

Command injection playbook. Use when user input may reach shell commands, process execution, converters, import pipelines, or blind out-of-band command sinks.

Habilidades Relacionadas