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
w48crash — Code PoC pour la vulnérabilité dans webmod v0.48. Écrit à l'origine en 2007, il s'est vu attribuer l'identifiant CVE-2007-1260. | Kitploit
Outils/GitHubGitHub/thecybermind/w48crash
Analyse des VulnérabilitésExploitationShellcodeTests d'IntrusionOutil d'Accès à DistanceExploitation de Binaires
GitHubthecybermind/w48crash

w48crash

Code PoC pour la vulnérabilité dans webmod v0.48. Écrit à l'origine en 2007, il s'est vu attribuer l'identifiant CVE-2007-1260.

Voir le dépôt
1il y a 1 anPas 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

Débordement de tampon de la pile WebMod CVE-2007-1260

par cybermind (Kevin Masterson)
[email protected]

Site WebMod (archivé) : https://web.archive.org/web/20080517044559/http://djeyl.net/w.php

Versions vulnérables :
0.48, à la fois Win32 et Linux. Les versions précédentes peuvent être vulnérables. Cela devrait fonctionner avec n'importe quelle version de HLDS.

Type de vulnérabilité :
DoS, exécution de code à distance sous l'utilisateur sous lequel HLDS s'exécute.

Description : Lors de la réception d'une requête HTTP POST, il alloue 11 octets sur la pile pour stocker la valeur de Content-Length, mais écrit dans ce tampon jusqu'à ce qu'un saut de ligne ou un terminateur nul soit reçu. Une fois que votre chaîne Content-Length atteint 158308 octets, elle commence à écraser l'EIP. Ce nombre peut être légèrement différent sur Linux en raison du padding. Votre shellcode ne doit pas contenir 0x00, 0x0A ou 0x0D, sinon il cessera de lire les données du socket.

Cela peut aider à exécuter votre shellcode :

  • Pour Win32 :
    Il y a un "FF E4" (jmp esp) dans w_mm.dll v0.48 à 0x67E03C5B
  • Pour Linux :
    Il y a un "FF E4" (jmp esp) dans metamod_i386.so v1.19 à l'offset 0x0008835C

Code de preuve de concept :
w48crash.c
Remarque : Le "shellcode" utilisé dans le PoC est codé en dur pour fonctionner spécifiquement avec un serveur tournant sur Win2K SP4/kernel32.dll/user32.dll v5.0.2195.6688. Le débordement de tampon réel fonctionnera tel quel sur n'importe quelle version de Windows, cependant. Pour le tester, vous pouvez définir la variable globale "our_eip" sur 0xFFFFFFFF pour simplement provoquer un crash.

Cause/Correctif :
Le code problématique se trouve aux lignes 542-552 de server.cpp :

root@kitploit:~
542        char clbuf[11];
543
544        for(i=0;(size_t)i<strlen(input)-17;i++)
545        {
546            if(!strnicmp(input+i,"\nContent-Length: ",17))
547            {
548 LOG_DBG_SERVER(("Content-length spotted"));
549                i+=17;
550                for(j=0;input[i]!='\n'&&input;[i];i++,j++)
551                    clbuf[j]=input[i];
552                clbuf[j]='\0';

Le tampon, clbuf, alloué à la ligne 542, est écrit via la boucle des lignes 550-551, puis terminé par un nul. Le correctif consiste à remplacer la ligne 550 par :

root@kitploit:~
550                for(j=0;input[i]!='\n'&&input[i]&&j<10;i++,j++)
Télécharger l’outil