O que graphql-e-parâmetros-ocultos faz?
Manual de teste de GraphQL e parâmetros ocultos. Use ao explorar introspecção, batching, campos não documentados, parâmetros ocultos, abuso de esquema e lacunas de autorização GraphQL.
Visão Geral
Esta habilidade fornece um conjunto de técnicas e verificações para testar APIs GraphQL em busca de vulnerabilidades comuns, como:
- Introspecção: Verificar se o esquema GraphQL está exposto e pode ser consultado.
- Batching: Testar se consultas em lote podem contornar limites de taxa ou autorização.
- Campos não documentados: Descobrir campos que não deveriam estar acessíveis.
- Parâmetros ocultos: Identificar parâmetros que não estão documentados, mas que afetam o comportamento da API.
- Abuso de esquema: Explorar formas de manipular consultas para obter dados não autorizados.
- Lacunas de autorização: Verificar se permissões são aplicadas corretamente em todas as consultas.
Como Usar
- Preparação: Certifique-se de ter acesso à URL do endpoint GraphQL e, se necessário, a chaves de API ou tokens de autenticação.
- Execução: Use ferramentas como
curl,graphql-inspectorou scripts personalizados para realizar os testes descritos no manual. - Análise: Revise os resultados para identificar possíveis vulnerabilidades e documente-as.
Exemplos de Teste
# Testar introspecção
curl -X POST <ENDPOINT_URL> \
-H "Content-Type: application/json" \
-d '{"query": "{ __schema { types { name } } }"}'
# Testar batching (requisições em lote)
curl -X POST <ENDPOINT_URL> \
-H "Content-Type: application/json" \
-d '[{"query": "{ user(id:1) { name } }"}, {"query": "{ user(id:2) { name } }"}]'
Aviso Legal
Esta habilidade é fornecida apenas para fins educacionais e de teste de segurança autorizados. O uso indevido para acessar sistemas sem permissão é ilegal e antiético.
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests para melhorar este manual.