{
    "title": "SSRF",
    "seo_title": "SSRF : définition, exemples et protection sur WordPress",
    "h1": "SSRF",
    "description": "SSRF : comment un site devient le relais d’un attaquant vers le réseau interne, des exemples, wp_safe_remote_get et les parades côté code et hébergement.",
    "lead": "Une faille SSRF (Server-Side Request Forgery, falsification de requête côté serveur) permet à un attaquant de faire envoyer par le serveur des requêtes vers l’adresse de son choix : services internes, adresse de métadonnées du cloud ou le serveur lui-même, normalement inaccessibles depuis Internet.",
    "language": "fr",
    "locale": "fr-FR",
    "type": "definition",
    "url": "https://www.wp-masquerade.com/fr/definitions/ssrf/",
    "canonical": "https://www.wp-masquerade.com/fr/definitions/ssrf/",
    "markdown": "https://www.wp-masquerade.com/fr/definitions/ssrf/index.md",
    "json": "https://www.wp-masquerade.com/fr/definitions/ssrf/index.json",
    "published": "2026-10-28T08:00:00+00:00",
    "modified": "2026-10-28T20:13:07+00:00",
    "site": {
        "name": "WP Masquerade",
        "url": "https://www.wp-masquerade.com/fr/"
    },
    "translations": [
        {
            "language": "fr",
            "hreflang": "fr-FR",
            "title": "SSRF",
            "url": "https://www.wp-masquerade.com/fr/definitions/ssrf/",
            "markdown": "https://www.wp-masquerade.com/fr/definitions/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/fr/definitions/ssrf/index.json"
        },
        {
            "language": "en",
            "hreflang": "en-US",
            "title": "SSRF (server-side request forgery)",
            "url": "https://www.wp-masquerade.com/glossary/ssrf/",
            "markdown": "https://www.wp-masquerade.com/glossary/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/glossary/ssrf/index.json"
        },
        {
            "language": "es",
            "hreflang": "es-ES",
            "title": "SSRF",
            "url": "https://www.wp-masquerade.com/es/glosario/ssrf/",
            "markdown": "https://www.wp-masquerade.com/es/glosario/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/es/glosario/ssrf/index.json"
        },
        {
            "language": "de",
            "hreflang": "de-DE",
            "title": "SSRF (Server-Side Request Forgery)",
            "url": "https://www.wp-masquerade.com/de/glossar/ssrf/",
            "markdown": "https://www.wp-masquerade.com/de/glossar/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/de/glossar/ssrf/index.json"
        },
        {
            "language": "it",
            "hreflang": "it-IT",
            "title": "SSRF (server-side request forgery)",
            "url": "https://www.wp-masquerade.com/it/glossario/ssrf/",
            "markdown": "https://www.wp-masquerade.com/it/glossario/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/it/glossario/ssrf/index.json"
        },
        {
            "language": "pt",
            "hreflang": "pt-BR",
            "title": "SSRF",
            "url": "https://www.wp-masquerade.com/pt/glossario/ssrf/",
            "markdown": "https://www.wp-masquerade.com/pt/glossario/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/pt/glossario/ssrf/index.json"
        },
        {
            "language": "nl",
            "hreflang": "nl-NL",
            "title": "SSRF (server-side request forgery)",
            "url": "https://www.wp-masquerade.com/nl/woordenlijst/ssrf/",
            "markdown": "https://www.wp-masquerade.com/nl/woordenlijst/ssrf/index.md",
            "json": "https://www.wp-masquerade.com/nl/woordenlijst/ssrf/index.json"
        }
    ],
    "headings": [
        {
            "level": 1,
            "text": "SSRF"
        },
        {
            "level": 2,
            "text": "Comment fonctionne une attaque SSRF"
        },
        {
            "level": 2,
            "text": "Comment s’en protéger"
        },
        {
            "level": 2,
            "text": "Pour WordPress : wp_safe_remote_get et les pingbacks"
        }
    ],
    "body": "Dans une faille SSRF, l’attaquant ne vise pas directement la machine qui l’intéresse : il se sert du site comme intermédiaire. Le serveur web se trouve souvent dans un réseau où il peut joindre des services que personne ne devrait atteindre depuis Internet. Si une fonction du site télécharge une adresse fournie par l’utilisateur sans vérifier la destination, l’attaquant peut lui faire interroger ces services à sa place. L’OWASP a fait de la SSRF une catégorie à part de son Top 10 2021 (A10), et le MITRE la référence sous CWE-918.\n\n## Comment fonctionne une attaque SSRF\n\nLes fonctions concernées sont celles qui vont chercher une URL : importer une image depuis une adresse, générer un aperçu de lien, appeler un webhook, vérifier un flux. L’attaquant y glisse une adresse interne au lieu d’une adresse publique :\n\n- **l’adresse de métadonnées du cloud** `169.254.169.254`, utilisée par AWS, Azure et Google Cloud, qui peut révéler des identifiants et des jetons d’accès ;\n- **le serveur lui-même** (`localhost`, `127.0.0.1`), par exemple un panneau d’administration ou une base de données qui n’écoute qu’en local ;\n- **le réseau privé** (`10.0.0.0/8`, `192.168.0.0/16`…), pour cartographier les machines et les ports ouverts ;\n- **d’autres protocoles** que HTTP, comme `file://` ou `gopher://`, quand la bibliothèque utilisée les accepte.\n\n![Déroulement d’une attaque SSRF en cinq étapes, l’attaquant fournit l’adresse de métadonnées du cloud à une fonction d’import d’image par URL, le serveur émet la requête depuis l’intérieur du réseau, le service interne répond avec métadonnées ou jetons, la réponse revient à l’attaquant directement ou par un message d’erreur, et la parade consiste à valider la destination (liste d’hôtes autorisés, http et https seulement, adresses privées refusées, redirections contrôlées)](https://www.wp-masquerade.com/media/2026/10/ssrf-flux-fr.webp)\n\n*Le site devient un relais : la requête part de l’intérieur du réseau, là où les pare-feu réseau laissent souvent tout passer.*\n\nLa réponse ne revient pas toujours en clair : on parle de SSRF « aveugle » quand l’attaquant ne voit qu’un message d’erreur ou un temps de réponse, ce qui suffit pourtant à savoir si un port est ouvert.\n\n*Vidéo (en anglais) : « SSRF in 100 seconds » (Intigriti)*\n\n## Comment s’en protéger\n\n- **Liste d’autorisation** : quand les destinations sont connues (une API précise), n’acceptez qu’elles.\n- **http et https seulement**, sur des ports standards.\n- **Refuser les adresses internes** après résolution DNS, et vérifier aussi chaque redirection : un nom de domaine public peut pointer vers une adresse privée.\n- **Côté hébergement** : segmentation réseau et, sur AWS, passage à IMDSv2, que l’OWASP recommande pour limiter le vol de métadonnées.\n\n## Pour WordPress : wp_safe_remote_get et les pingbacks\n\nWordPress fournit les bons outils, à condition de les utiliser. `wp_safe_remote_get()` et ses variantes valident l’URL et chaque URL de redirection avec `wp_http_validate_url()` : seuls `http` et `https` passent, les identifiants dans l’URL sont refusés, les adresses de bouclage et privées sont rejetées, et un port explicite doit être 80, 443 ou 8080. À l’inverse, `wp_remote_get()` ne fait pas cette validation par défaut : une extension qui l’utilise avec une adresse fournie par un visiteur s’expose. Le filtre `http_request_host_is_external` permet d’autoriser un hôte interne précis ; l’ouvrir à tout annule la protection.\n\n```\n$reponse = wp_safe_remote_get( esc_url_raw( $url_fournie ), array( 'timeout' => 5 ) );\r\nif ( is_wp_error( $reponse ) ) {\r\n    return; // URL refusée ou injoignable\r\n}\n```\n\nLe cœur lui-même a connu ce problème : avant WordPress 3.5.1, le pingback de [XML-RPC](https://www.wp-masquerade.com/fr/definitions/xml-rpc/) permettait d’envoyer des requêtes vers des serveurs internes et de scanner des ports (CVE-2013-0235). Le pingback utilise désormais `wp_safe_remote_get()`, mais il reste une fonction qui fait émettre des requêtes par votre serveur à la demande d’un tiers. Si vous ne vous en servez pas, le [module Durcissement de WP Masquerade](https://www.wp-masquerade.com/fr/fonctionnalites/durcissement/) bloque gratuitement les pingbacks et XML-RPC ; [notre article sur XML-RPC](https://www.wp-masquerade.com/fr/xml-rpc-wordpress-risques/) aide à vérifier qu’aucun service n’en dépend. Pour le reste, la SSRF se corrige dans le code de l’extension concernée, et un [pare-feu applicatif](https://www.wp-masquerade.com/fr/definitions/waf/) peut filtrer les adresses internes les plus évidentes en attendant.\n\n## Termes liés\n\n- [XML-RPC](https://www.wp-masquerade.com/fr/definitions/xml-rpc/)\n- [WAF (pare-feu applicatif)](https://www.wp-masquerade.com/fr/definitions/waf/)\n- [CSRF](https://www.wp-masquerade.com/fr/definitions/csrf/)\n- [Exécution de code à distance (RCE)](https://www.wp-masquerade.com/fr/definitions/execution-de-code-a-distance/)\n\n\n## Sources\n\n- [OWASP Cheat Sheet Series : Server-Side Request Forgery Prevention](https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html)\n- [MITRE CWE-918 : Server-Side Request Forgery (SSRF)](https://cwe.mitre.org/data/definitions/918.html)\n- [WordPress Developer Resources : wp_http_validate_url()](https://developer.wordpress.org/reference/functions/wp_http_validate_url/)\n- [CVE Record : CVE-2013-0235](https://www.cve.org/CVERecord?id=CVE-2013-0235)",
    "definition": "Une faille SSRF (Server-Side Request Forgery, falsification de requête côté serveur) permet à un attaquant de faire envoyer par le serveur des requêtes vers l’adresse de son choix : services internes, adresse de métadonnées du cloud ou le serveur lui-même, normalement inaccessibles depuis Internet.",
    "group": "Sécurité web",
    "aka": [
        "Server-Side Request Forgery",
        "falsification de requête côté serveur",
        "CWE-918"
    ],
    "related": [
        {
            "title": "XML-RPC",
            "url": "https://www.wp-masquerade.com/fr/definitions/xml-rpc/",
            "markdown": "https://www.wp-masquerade.com/fr/definitions/xml-rpc/index.md"
        },
        {
            "title": "WAF (pare-feu applicatif)",
            "url": "https://www.wp-masquerade.com/fr/definitions/waf/",
            "markdown": "https://www.wp-masquerade.com/fr/definitions/waf/index.md"
        },
        {
            "title": "CSRF",
            "url": "https://www.wp-masquerade.com/fr/definitions/csrf/",
            "markdown": "https://www.wp-masquerade.com/fr/definitions/csrf/index.md"
        },
        {
            "title": "Exécution de code à distance (RCE)",
            "url": "https://www.wp-masquerade.com/fr/definitions/execution-de-code-a-distance/",
            "markdown": "https://www.wp-masquerade.com/fr/definitions/execution-de-code-a-distance/index.md"
        }
    ],
    "sources": [
        {
            "title": "OWASP Cheat Sheet Series : Server-Side Request Forgery Prevention",
            "url": "https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html"
        },
        {
            "title": "MITRE CWE-918 : Server-Side Request Forgery (SSRF)",
            "url": "https://cwe.mitre.org/data/definitions/918.html"
        },
        {
            "title": "WordPress Developer Resources : wp_http_validate_url()",
            "url": "https://developer.wordpress.org/reference/functions/wp_http_validate_url/"
        },
        {
            "title": "CVE Record : CVE-2013-0235",
            "url": "https://www.cve.org/CVERecord?id=CVE-2013-0235"
        }
    ],
    "format": "application/json"
}