Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-34096 — Débordement de tampon basé sur SEH dans Easy File Sharing Web Server 7.2, accessible via le point de terminaison de récupération de mot de passe. | Kitploit
Outils/GitHubGitHub/themalwareguardian/cve-2025-34096
Analyse des VulnérabilitésExploitationRétro-ingénierieShellcodeExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de Binaires
GitHubthemalwareguardian/cve-2025-34096

CVE-2025-34096

Débordement de tampon basé sur SEH dans Easy File Sharing Web Server 7.2, accessible via le point de terminaison de récupération de mot de passe.

il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

🐞 CVE-2025-34096 : Easy File Sharing Web Server 7.2 - Dépassement de tampon basé sur la pile (SEH)

Dépassement de tampon basé sur SEH dans Easy File Sharing Web Server 7.2, accessible via le point de terminaison de récupération de mot de passe.




📑 Table des matières

  • Pourquoi ce dépôt existe
  • Pourquoi cette vulnérabilité est intéressante
  • Contexte et logiciel concerné
  • À propos de la vulnérabilité
  • Déclenchement du crash
  • Exploitation



🎓 Pourquoi ce dépôt existe

Ce dépôt a été créé dans le cadre du matériel que j'utilise pour enseigner la recherche de vulnérabilités et le développement d'exploits, en particulier pour introduire les concepts de dépassement SEH (Structured Exception Handler) et de chaînes ROP (Return-Oriented Programming).

Il est lié à ma présentation "The Path That Leads to Your First CVE". Dans cette présentation, j'explique qu'il existe différents points d'entrée dans la recherche de vulnérabilités, et que l'étude de CVE publiquement documentées dans des logiciels hérités est l'un des chemins les plus accessibles pour les débutants.

Cette CVE a été choisie car elle démontre un scénario d'exploitation complet et réaliste :

  • La cible est une application Windows disponible publiquement.
  • Le crash n'est pas un simple écrasement d'EIP, il implique un écrasement SEH et un pivotement de pile.
  • Le point de terminaison vulnérable ne nécessite aucune authentification, ce qui en fait une véritable primitive d'exécution de code à distance non authentifiée.
  • L'exploit peut éventuellement être étendu avec une chaîne ROP pour contourner DEP/NX, démontrant comment le même dépassement SEH peut être adapté à des environnements plus durcis.

L'objectif est d'utiliser ce cas comme tremplin entre les exercices d'introduction aux dépassements de tampon et les concepts plus avancés de développement d'exploits.




💡 Pourquoi cette vulnérabilité est intéressante

Cette vulnérabilité affecte Easy File Sharing Web Server 7.2, une application légère de serveur web Windows largement utilisée pour le partage simple de fichiers. Le logiciel a été écrit sans tenir compte des mesures d'atténuation modernes. Ce qui rend ce cas particulièrement intéressant d'un point de vue pédagogique, c'est la combinaison de facteurs impliqués :

  • Le point de terminaison vulnérable est une requête POST, ce qui le rend facile à reproduire avec des outils HTTP standard.
  • Le point de terminaison /sendemail.ghp fait partie de la fonctionnalité de notification par e-mail de l'application et est accessible à tout attaquant distant sans identifiants. Cela représente un scénario d'attaque plus impactant que les vulnérabilités qui nécessitent un accès préalable.
  • Le dépassement est basé sur SEH, ce qui signifie que le crash n'écrase pas directement l'adresse de retour. Au lieu de cela, il corrompt la chaîne Structured Exception Handler sur la pile, ce qui nécessite une technique d'exploitation différente.
  • Le contournement de DEP est facultatif, ce qui signifie que l'exploit fonctionne avec une approche directe SEH + saut court + shellcode sur les systèmes où DEP est désactivé. Mais si DEP est activé, l'exploit peut être étendu avec une chaîne ROP utilisant des gadgets de modules chargés pour appeler VirtualProtect et marquer la zone du shellcode comme exécutable avant de transférer le contrôle.

Cette combinaison fait de CVE-2025-34096 un excellent cas pour enseigner les techniques de développement d'exploits dans un scénario d'attaque non authentifiée réaliste.




🔍 Contexte et logiciel concerné

Easy File Sharing Web Server 7.2 est une application Windows légère conçue pour partager des fichiers via HTTP. Au-delà de la navigation de fichiers de base et des comptes utilisateurs, il inclut une fonctionnalité de récupération de mot de passe, un formulaire permettant aux utilisateurs de saisir leur adresse e-mail pour recevoir leurs identifiants oubliés.

Télécharger l’outil

Ce formulaire envoie vers /sendemail.ghp. Le gestionnaire qui traite le champ Email copie la valeur directement dans un tampon de pile à taille fixe sans vérification de longueur. Le point de terminaison ne nécessite aucune authentification, il n'y a donc rien entre un attaquant distant et le chemin de code vulnérable.

Détails techniques clés :

  • Type de vulnérabilité : Dépassement de tampon basé sur la pile (écrasement SEH)
  • Version concernée : Easy File Sharing Web Server 7.2
  • Point de terminaison concerné : POST /sendemail.ghp
  • Paramètre vulnérable : Email
  • Authentification requise : Non
  • Impact : Exécution de code à distance non authentifiée



⚠️ À propos de la vulnérabilité

Easy File Sharing Web Server traite les requêtes HTTP POST dirigées vers /sendemail.ghp dans le cadre de sa fonctionnalité de notification par e-mail. Le paramètre Email accepté par ce point de terminaison est copié dans un tampon de pile local sans aucune vérification de longueur.

Une version simplifiée de la logique vulnérable ressemble à ceci :

root@kitploit:~
char email_buffer[256];

strcpy(email_buffer, user_input);

Étant donné que le tampon de destination a une taille fixe et que la longueur de l'entrée n'est pas validée, l'envoi d'une chaîne suffisamment longue dans le champ Email entraîne une écriture au-delà de la fin du tampon.

À mesure que davantage de données sont écrites, la disposition de la pile devient corrompue. Contrairement à un simple écrasement d'adresse de retour, le dépassement atteint la chaîne Structured Exception Handler (SEH) stockée sur la pile. Lorsqu'une exception est déclenchée en raison de la pile corrompue, le système d'exploitation parcourt la chaîne SEH et transfère le contrôle à l'adresse du gestionnaire contrôlée par l'attaquant.

Le flux d'exploitation suit donc la technique d'écrasement SEH :

  1. Une entrée longue écrase la pile, y compris les pointeurs nSEH et SEH.
  2. Une exception est déclenchée en raison de la corruption mémoire.
  3. Le système d'exploitation invoque l'adresse du gestionnaire écrasée.
  4. Un gadget POP POP RETN est utilisé pour transférer l'exécution vers la zone nSEH.
  5. Un saut court vers l'avant saute par-dessus l'enregistrement SEH et redirige l'exécution vers la zone du shellcode.
  6. Le shellcode s'exécute.

Cela rend la vulnérabilité plus complexe à exploiter qu'un simple écrasement d'EIP, mais aussi plus représentative des scénarios du monde réel.




💥 Déclenchement du crash

Le crash peut être reproduit en envoyant une longue chaîne dans le paramètre Email d'une requête POST vers /sendemail.ghp. Aucune authentification n'est requise. Exemple en Python :

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 80

request = (
	'POST /sendemail.ghp HTTP/1.1\r\n'
	'Email=' + 'A' * 5000 + '&getPassword=Get+Password'
).encode('utf-8')

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(request)
s.close()

Lorsqu'il est exécuté sous un débogueur, le crash montre une chaîne SEH corrompue et une violation d'accès, confirmant que des données contrôlées par l'utilisateur ont écrasé le pointeur du gestionnaire d'exceptions.




💣 Exploitation

L'objectif de ce dépôt n'est pas seulement de démontrer le crash, mais aussi de parcourir le processus d'exploitation complet étape par étape, en suivant la méthodologie utilisée lors du développement de véritables exploits basés sur SEH.

Pour garder le README principal propre, les notes d'exploitation détaillées, les scripts et les étapes de débogage sont placés dans le dossier Vulnerability 📂 de ce dépôt.

Vous y trouverez le flux de travail complet utilisé pour exploiter cette CVE, notamment :

  • Le fuzzing du paramètre Email pour identifier le crash.
  • La découverte de l'offset pour localiser la position exacte de nSEH et SEH sur la pile.
  • L'analyse des caractères interdits pour identifier les octets qui corrompent la charge utile.
  • L'écrasement de la chaîne SEH à l'aide d'un gadget POP POP RETN provenant d'un module chargé.
  • Le placement et l'exécution du shellcode.
  • Optionnel : Construction d'une chaîne ROP pour contourner DEP en appelant VirtualProtect via des gadgets de modules chargés.