
InQL é uma extensão robusta e de código aberto do Burp Suite para testes avançados de GraphQL, oferecendo detecção intuitiva de vulnerabilidades, varreduras personalizáveis e integração perfeita com o Burp.
Bem-vindo ao InQL, uma ferramenta de teste GraphQL de código aberto. Esta ferramenta fornece recursos projetados para melhorar sua experiência de teste GraphQL, tornando-a mais eficiente e eficaz.
Agradecemos sua confiança no InQL. Bons testes!
A interface do usuário do InQL é equipada com três componentes principais: a aba Scanner, a aba Batch Queries e a aba Engine Fingerprinting

O Scanner é o núcleo do InQL, onde você pode analisar um endpoint GraphQL ou um arquivo de esquema de introspecção local. Ele gera automaticamente todas as consultas, mutações e assinaturas possíveis, organizando-as em uma visão estruturada para sua análise.
✅ Scans Personalizáveis
O InQL oferece a flexibilidade de personalizar seus scans. Ajuste a profundidade das consultas geradas ou o número de espaços usados para indentação. Você também pode realizar scans de 'Pontos de Interesse' para detectar potenciais vulnerabilidades no esquema GraphQL.
✅ Análise de Pontos de Interesse
Após executar um scan de Pontos de Interesse, você recebe um conjunto de dados rico cobrindo uma variedade de vulnerabilidades potenciais. Você pode ativar ou desativar essas categorias de acordo com suas necessidades.
✅ Detecção de Referências Circulares
O InQL implementa detecção de referências circulares. Após analisar o esquema, ele exibe consultas potencialmente vulneráveis na visualização de resultados do scanner.
✅ Interações Aprimoradas com Burp
O InQL se integra perfeitamente ao Burp, permitindo gerar consultas diretamente de qualquer requisição GraphQL no Burp. Você também pode enviar consultas geradas automaticamente para outras ferramentas do Burp para análise adicional.
✅ Cabeçalhos Personalizados
Você tem a capacidade de definir cabeçalhos personalizados por domínio, com a lista de domínios preenchida automaticamente a partir do tráfego observado.
A aba Batch Queries permite executar ataques GraphQL em lote, o que pode ser útil para contornar limites de taxa mal implementados.
Os editores de mensagens nativos do Burp agora possuem uma aba adicional 'GraphQL (InQL)', fornecendo uma maneira eficiente de visualizar e modificar requisições GraphQL. Também suporta realce de esquema para melhor legibilidade.
O InQL agora implementa servidores GraphiQL e GraphQL Voyager. Você pode enviar o esquema analisado para eles para aprimorar ainda mais a análise!
Esta aba permite que você scaneie uma URL GraphQL para recuperar informações sobre a tecnologia do servidor backend.
Este scanner foi projetado para recriar o esquema quando a introspecção está desabilitada. É baseado na ferramenta CLI Clairvoyance, usando correspondência de padrões regex para descobrir detalhes do esquema.
Para instalar o InQL com sucesso, verifique se você atende aos seguintes requisitos:
Burp:
Java:
$ sudo apt install -y openjdk-17-jdk
$ java --version
openjdk 17.0.6 2023-01-17
$ # Mac OS & Homebrew:
$ brew install go-task
$ # Debian
$ sudo apt install -y task
$ git clone https://github.com/doyensec/inql
$ cd inql
$ # Opcionalmente, mude para o branch dev (pode estar quebrado / instável!)
$ git checkout dev
$ task all
Isso deve produzir um arquivo chamado InQL.jar ou similar na raiz do repositório. Carregue-o no Burp como uma extensão Java.
Ambiente de desenvolvimento
Se você quiser contribuir com o projeto, nenhum ambiente especial é necessário. Você pode simplesmente recompilar o projeto sempre que implementar uma alteração.
Para acelerar o trabalho no código, você pode querer recompilar automaticamente a extensão sempre que fizer uma alteração. Basta executar a tarefa kotlin com a flag --watch / -w e pronto:
$ task kotlin -w
O InQL prospera com contribuições da comunidade. Seja você um desenvolvedor, pesquisador, designer ou caçador de bugs, sua experiência é inestimável para nós. Recebemos relatórios de bugs, feedback e pull requests. Sua participação nos ajuda a continuar melhorando o InQL, tornando-o uma ferramenta mais forte para a comunidade.
As interações são melhor realizadas através do rastreador de issues do Github, mas você também pode nos contatar pelas redes sociais (@Doyensec). Estamos ansiosos para ouvir de você!
Um agradecimento especial aos nossos contribuidores. Sua dedicação e compromisso foram fundamentais para fazer do InQL o que é hoje.
Atuais:
Históricos:
Este projeto foi feito com o apoio da Doyensec.