
Ce dépôt est destiné à l'atelier Testing ASP.NET ViewState with YSoNet (YSoSerial.NET).
Ce dépôt est destiné à l'atelier Test d'ASP.NET ViewState avec YSoNet (YSoSerial.NET).
Lecture recommandée : Exploitation de la désérialisation dans ASP.NET via ViewState
Outils recommandés pour résoudre les laboratoires (une fois le laboratoire configuré) :
Diapositives de l'atelier : EXPLOITING_KNOWN_MACHINE_WORKSHOP_v1.0_NahamCon2025_slides.pdf
Il s'agit d'un environnement de laboratoire volontairement non sécurisé, destiné uniquement aux tests de sécurité et à des fins pédagogiques.
Ce laboratoire est conçu pour aider les professionnels de la sécurité à améliorer leurs capacités de test des vulnérabilités ASP.NET ViewState. Utilisez-le de manière responsable et uniquement dans des environnements contrôlés.
Exécutez ces étapes sur votre serveur Windows isolé pour préparer l'environnement du laboratoire. Ouvrez un terminal PowerShell avec élévation de privilèges (Exécuter en tant qu'administrateur) et exécutez les commandes suivantes :
# Clone the repository (or download and extract the ZIP)
git clone https://github.com/irsdl/viewstate-security-workshop.git
cd viewstate-security-workshop
.\tools\Install-IISAndDotNet.ps1
Ceci installe IIS avec la prise en charge d'ASP.NET et toutes les versions requises du .NET Framework.
.\tools\Disable-DefenderProtection.ps1
Pourquoi désactiver Defender ? Pour ce laboratoire, nous désactivons Windows Defender afin que l'exécution de commandes via les exploits ViewState ne soit pas bloquée. Cela vous permet d'observer clairement une exploitation réussie sans interférence de la protection des points de terminaison.
Important : Dans un laboratoire de test réel ou un environnement de production, vous devez garder les protections activées. L'objectif de cet atelier est de comprendre les mécanismes de la vulnérabilité — une fois que vous avez appris les techniques, entraînez-vous à détecter et à bloquer ces attaques avec Defender activé.
.\import-workshopiis.ps1
Ce script interactif configure le site d'atelier vulnérable dans IIS. Il vous demandera des options de configuration avec les valeurs par défaut suivantes :
| Paramètre | Valeur par défaut |
|---|---|
| Fichier de configuration | .\workshop-iis-config.json |
| Nom du site | workshop |
| Chemin racine |
Le script va :
content vers le chemin racine du siteAprès la configuration, votre Gestionnaire IIS devrait ressembler à ceci :

Uniquement pour les lecteurs curieux :
Prépare un serveur Windows pour le laboratoire en installant IIS et les composants du .NET Framework.
Emplacement : tools/Install-IISAndDotNet.ps1
Utilisation :
# Run as Administrator
.\tools\Install-IISAndDotNet.ps1
Ce qu'il installe :
Remarque : Pour l'installation du .NET Framework 3.5 sur des serveurs isolés, vous devrez peut-être monter une ISO de Windows Server et décommenter l'option d'installation basée sur la source dans le script.
Désactive les protections de Windows Defender pour permettre aux outils d'exploitation de s'exécuter dans l'environnement du laboratoire.
Emplacement : tools/Disable-DefenderProtection.ps1
Utilisation :
# Run as Administrator
.\tools\Disable-DefenderProtection.ps1
Ce qu'il désactive :
Réactive les protections de Windows Defender après utilisation du laboratoire.
Emplacement : tools/Enable-DefenderProtection.ps1
Utilisation :
# Run as Administrator
.\tools\Enable-DefenderProtection.ps1
Ce qu'il active :
Script interactif qui importe la configuration du site IIS de l'atelier et déploie le contenu web vulnérable.
Emplacement : import-workshopiis.ps1
Utilisation :
# Run as Administrator
.\import-workshopiis.ps1
Ce qu'il fait :
content vers le chemin racine spécifié.NET v2.0 pour les applications héritées)Fichier de configuration JSON qui définit la structure du site IIS exportée depuis un serveur de laboratoire de référence.
Emplacement : workshop-iis-config.json
Contient :
/mac/* - Applications avec validation MAC activée/nomac/* - Applications sans validation MACv20, v40, v45) pour tester différents runtimes .NETCe logiciel a été créé uniquement à des fins de recherche académique et pour le développement de techniques défensives efficaces, et n'est pas destiné à être utilisé pour attaquer des systèmes, sauf autorisation explicite. Les mainteneurs du projet ne sont pas responsables de l'utilisation abusive du logiciel. Utilisez-le de manière responsable.
Ce logiciel est un projet personnel et n'est lié à aucune entreprise, y compris les employeurs du propriétaire du projet et des contributeurs.
C:\workshop\websites\wwwdata |
| Port HTTP | 80 |