Icône du lab

FortiPy

🔥 Pouvez-vous pénétrer cette forteresse d'entreprise et obtenir le contrôle total du système ?

Difficile Mis à jour le 22 juin 2026 Accès Gratuit Solution (Pro)
Web Application Security SSTI Flask Security SSH Brute Force Database Enumeration Hash Cracking Privilege Escalation

Une mystérieuse application d'entreprise appelée TechSphere a attiré votre attention. 🕵️ Derrière sa façade professionnelle se cache un paysage de sécurité complexe attendant d'être exploré. Ce scénario de test d'intrusion multicouche mettra à l'épreuve vos compétences en reconnaissance, vos techniques d'exploitation et vos capacités d'analyse système. 💻 Êtes-vous prêt à naviguer à travers l'infrastructure de sécurité d'entreprise et à démontrer votre expertise ? 🏆

2
Flags
700
XP
41%
Taux de Réussite

L'injection de templates côté serveur (SSTI) est une vulnérabilité web critique qui survient lorsque l'entrée utilisateur est intégrée directement dans la syntaxe du moteur de templates côté serveur. Les moteurs de templates comme Jinja2 (utilisé dans Flask et Django), Twig (PHP) et Freemarker (Java) fournissent des fonctionnalités puissantes incluant l'évaluation de variables et l'exécution de code. Lorsqu'une application incorpore des entrées non fiables dans les templates sans sanitisation appropriée, les attaquants peuvent injecter des expressions de template qui exécutent du code arbitraire sur le serveur.

SSTI dans les applications Flask et Jinja2

Flask, un framework web Python populaire, utilise le moteur de templates Jinja2 par défaut. Les vulnérabilités SSTI dans les applications Flask surviennent lorsque l'entrée utilisateur est rendue directement comme partie d'une chaîne de template plutôt que d'être passée comme variable. Par exemple, utiliser render_template_string("Hello " + user_input) au lieu de render_template_string("Hello {{name}}", name=user_input) permet l'injection de template. Les attaquants peuvent injecter des expressions Jinja2 comme {{config.items()}} pour divulguer les données de configuration ou utiliser la hiérarchie d'objets Python pour obtenir l'exécution de code à distance via des payloads qui accèdent à os.popen() ou aux modules subprocess.

Évaluation d'applications web multi-étapes

Les tests d'intrusion réels impliquent souvent la combinaison de multiples techniques pour progresser à travers les défenses d'une application. La reconnaissance initiale peut révéler un service SSH nécessitant des attaques par force brute pour découvrir des identifiants valides. L'énumération de bases de données peut exposer des comptes supplémentaires avec des mots de passe hashés nécessitant un cassage. Chaque étape fournit des informations ou un accès nécessaire pour la suivante, créant une chaîne d'attaque qui démontre comment des vulnérabilités apparemment isolées se composent en risque critique lorsqu'elles sont enchaînées.

Cassage de hash et récupération d'identifiants

Les hashes de mots de passe découverts lors de l'énumération de bases de données ou de l'analyse du système de fichiers doivent être cassés pour progresser. Des outils comme Hashcat et John the Ripper supportent de nombreux formats de hash et modes d'attaque incluant les attaques par dictionnaire, les mutations basées sur des règles et la force brute. Comprendre l'identification des hash, sélectionner les listes de mots appropriées et optimiser les paramètres de cassage sont des compétences essentielles pour les testeurs d'intrusion. Les identifiants récupérés fournissent souvent l'accès à des services supplémentaires ou à des comptes à privilèges plus élevés, permettant l'escalade de privilèges pour la compromission complète du système.

Ce que vous apprendrez

  • Comprendre l'injection de templates côté serveur (SSTI) dans les applications Flask/Jinja2
  • Apprendre les techniques de force brute SSH pour l'accès initial
  • Pratiquer l'énumération de bases de données et l'extraction d'identifiants
  • Développer des compétences en cassage de hash avec Hashcat et John the Ripper
  • Enchaîner plusieurs vecteurs d'attaque pour la compromission complète du système
  • Maîtriser les techniques d'escalade de privilèges sur les systèmes Linux

Prérequis

Python fundamentals Web application security basics Linux command line Understanding of template engines Basic knowledge of hashing

Prêt à hacker ce lab ?

Créez un compte gratuit et pratiquez la cybersécurité.

Commencer - C'est gratuit
Commencez Votre Défi

Lancez votre machine dédiée pour commencer à hacker

~1-2 min de configuration
Serveur dédié
Instance privée
Puissance standard
Nouveau ? Voici comment faire
1
Cliquez sur "Start Lab" ci-dessus Vous obtiendrez votre propre machine avec une adresse IP
2
Explorez la cible Ouvrez l'IP dans votre navigateur et cherchez des vulnérabilités
3
Trouvez et soumettez les flags Les flags sont des textes secrets cachés dans le système - collez-les ci-dessous pour marquer des XP

Prêt à hacker ce lab?

Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.

Commencer à Hacker Gratuitement
13 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement