exploiting-sql-injection-vulnerabilities
Faz seu agente identificar e explorar vulnerabilidades de injeção de SQL em aplicações web.
O que ela faz
Esta ferramenta ajuda a encontrar e explorar falhas de segurança chamadas 'SQL Injection' em sites. Ela verifica se é possível inserir comandos maliciosos em campos de formulário para acessar ou alterar dados de um banco de dados, sempre com permissão.
Quando usar
- ✓Para testar a segurança de um site antes de ele ir ao ar.
- ✓Para verificar se as informações inseridas em um site estão sendo protegidas corretamente.
- ✓Para mostrar o risco de um site ser invadido e dados serem roubados.
Exemplo do que pedir para a IA
“Verifique se o formulário de login deste site é vulnerável a SQL Injection.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta tenta inserir pequenos comandos em diferentes partes do site (como campos de texto e URLs) para ver se o banco de dados responde de forma inesperada. Se responder, significa que há uma falha.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill exploiting-sql-injection-vulnerabilitiesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-sql-injection-vulnerabilities/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Explorando Vulnerabilidades de Injeção SQL
Quando Usar
- Testar parâmetros de entrada de aplicações web em busca de vulnerabilidades de injeção SQL durante um teste de penetração autorizado
- Validar que consultas parametrizadas e sanitização de entrada estão devidamente implementadas em todas as interações com o banco de dados
- Demonstrar o impacto nos negócios de uma vulnerabilidade de injeção SQL confirmada, extraindo dados sensíveis
- Verificar se regras de WAF e controles de validação de entrada bloqueiam efetivamente payloads de injeção SQL
- Testar stored procedures, SQL dinâmico e cenários de bypass de ORM em aplicações corporativas
Não use contra bancos de dados sem autorização por escrito, para extrair ou exfiltrar dados reais de clientes além do necessário para prova de conceito, ou contra bancos de dados de produção onde a exploração possa corromper a integridade dos dados.
Pré-requisitos
- Autorização por escrito especificando a aplicação alvo e o nível de exploração permitido (apenas detecção vs. exploração completa)
- Burp Suite Professional configurado como proxy de interceptação para capturar e modificar requisições HTTP
- sqlmap instalado com a versão atual para detecção e exploração automatizadas
- Conhecimento do motor de banco de dados alvo (MySQL, PostgreSQL, MSSQL, Oracle) ou capacidade de identificá-lo
- Contas de teste em vários níveis de privilégio para testar injeção em contextos autenticados
Fluxo de Trabalho
Passo 1: Descoberta de Ponto de Injeção
Identifique parâmetros que interagem com o banco de dados:
- Mapeie todos os vetores de entrada: Catalogue cada parâmetro em URLs (GET), corpos de requisição (POST), cabeçalhos HTTP (Cookie, Referer, User-Agent, X-Forwarded-For) e payloads de API JSON/XML
- Detecção baseada em erro: Injete uma aspa simples (
') em cada parâmetro e observe a resposta. Erros de SQL (ex: "You have an error in your SQL syntax", "unterminated quoted string", "ORA-01756") confirmam que o parâmetro chega ao banco de dados sem sanitização. - Detecção baseada em booleano: Injete
' AND 1=1--(condição verdadeira) e' AND 1=2--(condição falsa). Se as respostas diferirem (diferente tamanho de conteúdo, diferentes dados retornados, diferente status HTTP), o parâmetro é injetável. - Detecção baseada em tempo: Injete
'; WAITFOR DELAY '0:0:5'--(MSSQL),' AND SLEEP(5)--(MySQL) ou'; SELECT pg_sleep(5)--(PostgreSQL). Um atraso de 5 segundos na resposta confirma a injeção. - Detecção out-of-band: Use payloads que acionam requisições DNS ou HTTP para um domínio do Burp Collaborator para confirmar injeção em cenários onde as respostas não são diretamente observáveis.
- Injeção de segunda ordem: Teste injeção onde a entrada é armazenada e posteriormente usada em uma consulta SQL diferente (ex: nome de usuário armazenado no registro, usado em uma consulta na página de perfil).
Passo 2: Identificação do Banco de Dados
Determine o motor e a versão do banco de dados para selecionar técnicas de exploração apropriadas:
- Identificação baseada em erro: Cada banco de dados produz mensagens de erro distintas. MySQL inclui "MySQL", MSSQL menciona "SQL Server", PostgreSQL referencia "PG", Oracle contém "ORA-".
- Identificação baseada em função: Injete funções específicas do banco de dados:
- MySQL:
' AND VERSION()--ou' AND @@version-- - MSSQL:
' AND @@version--ou' AND DB_NAME()-- - PostgreSQL:
' AND version()-- - Oracle:
' AND banner FROM v$version--
- MySQL:
- Diferenças de concatenação de strings: MySQL usa
CONCAT('a','b')ou'a' 'b', MSSQL usa'a'+'b', PostgreSQL usa'a'||'b', Oracle usa'a'||'b' - Sintaxe de comentário: MySQL suporta
#e--, MSSQL usa--, PostgreSQL usa--, Oracle usa--
Passo 3: Técnicas de Exploração Manual
Explore os pontos de injeção confirmados usando métodos apropriados à técnica:
- Extração baseada em UNION: Determine o número de colunas com
ORDER BYincrementando (' ORDER BY 1--,' ORDER BY 2--, etc. até ocorrer um erro). Em seguida, construa UNION SELECT para extrair dados:' UNION SELECT NULL,username,password,NULL FROM users-- - Extração baseada em erro (MySQL): Use
EXTRACTVALUEouUPDATEXMLpara forçar dados em mensagens de erro:' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT @@version),0x7e))-- - Extração booleana cega: Extraia dados um caractere por vez testando valores de caracteres:
' AND SUBSTRING((SELECT password FROM users WHERE username='admin'),1,1)='a'-- - Extração cega baseada em tempo: Mesma abordagem caractere por caractere usando atrasos de tempo:
Perguntas frequentes
O que é SQL Injection?
É um tipo de ataque onde um invasor insere comandos maliciosos em um campo de entrada de um site. Se o site não estiver protegido, esses comandos podem ser executados no banco de dados, permitindo ao invasor ver, alterar ou roubar informações.
Preciso de permissão para usar esta ferramenta?
Sim, é essencial ter autorização por escrito do dono do site antes de realizar qualquer teste. Usar sem permissão é ilegal.
Esta ferramenta pode danificar o site?
Se usada incorretamente ou sem permissão, sim. Ela é projetada para testes de segurança controlados e não deve ser usada em sites de produção sem autorização explícita, pois pode corromper dados.
Detalhes
Descrição original do autor
Identifies and exploits SQL injection vulnerabilities in web applications during authorized penetration tests using manual techniques and automated tools like sqlmap. The tester detects injection points through error-based, union-based, blind boolean, and time-based blind techniques across all major database engines (MySQL, PostgreSQL, MSSQL, Oracle) to demonstrate data extraction, authentication
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5760
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC