Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
w48crash — Código PoC para la vulnerabilidad en webmod v0.48. Escrito originalmente en 2007, asignado CVE-2007-1260. | Kitploit
Herramientas/GitHubGitHub/thecybermind/w48crash
Análisis de VulnerabilidadesExplotaciónShellcodePruebas de PenetraciónHerramienta de Acceso RemotoExplotación de Binarios
GitHubthecybermind/w48crash

w48crash

Código PoC para la vulnerabilidad en webmod v0.48. Escrito originalmente en 2007, asignado CVE-2007-1260.

Ver Repositorio
1hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

WebMod Stack Buffer Overflow CVE-2007-1260

por cybermind (Kevin Masterson)
[email protected]

Sitio de WebMod (archivado): https://web.archive.org/web/20080517044559/http://djeyl.net/w.php

Versiones vulnerables:
0.48, tanto Win32 como Linux. Las versiones anteriores pueden ser vulnerables. Esto debería funcionar con cualquier versión de HLDS.

Tipo de vulnerabilidad:
DoS, ejecución remota de código bajo el usuario con el que se ejecuta HLDS.

Descripción: Al recibir una petición HTTP POST, asigna 11 bytes en la pila para almacenar el valor de Content-Length, pero escribe en ese búfer hasta que recibe un salto de línea o un terminador nulo. Cuando tu cadena Content-Length alcanza los 158308 bytes, comienza a sobrescribir el EIP. Este número puede ser ligeramente diferente en Linux debido al padding. Tu shellcode no debe contener 0x00, 0x0A o 0x0D, o de lo contrario dejará de leer datos del socket.

Esto puede ayudarte a ejecutar tu shellcode:

  • Para Win32:
    Hay un "FF E4" (jmp esp) en w_mm.dll v0.48 en 0x67E03C5B
  • Para Linux:
    Hay un "FF E4" (jmp esp) en metamod_i386.so v1.19 en el offset 0x0008835C

Código de prueba de concepto:
w48crash.c
Nota: El "shellcode" utilizado en el PoC está hardcodeado específicamente para funcionar con un servidor que ejecuta Win2K SP4/kernel32.dll/user32.dll v5.0.2195.6688. Sin embargo, el desbordamiento de búfer real funcionará tal cual en cualquier versión de Windows. Para probarlo, puedes establecer la variable global "our_eip" a 0xFFFFFFFF para simplemente causar un crash.

Causa/Corrección:
El código problemático está en las líneas 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';

El búfer, clbuf, asignado en la línea 542, se rellena con el bucle de las líneas 550-551, y luego se añade el terminador nulo. La corrección consiste en sustituir la línea 550 por:

root@kitploit:~
550                for(j=0;input[i]!='\n'&&input[i]&&j<10;i++,j++)
Descargar herramienta