Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
w48crash — Código PoC para vulnerabilidade no webmod v0.48. Originalmente escrito em 2007, atribuído CVE-2007-1260. | Kitploit
Ferramentas/GitHubGitHub/thecybermind/w48crash
Análise de VulnerabilidadesExploraçãoShellcodeTestes de PenetraçãoFerramenta de Acesso RemotoExploração de Binários
GitHubthecybermind/w48crash

w48crash

Código PoC para vulnerabilidade no webmod v0.48. Originalmente escrito em 2007, atribuído CVE-2007-1260.

Ver Repositório
1há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

WebMod Estouro de Buffer de Pilha CVE-2007-1260

por cybermind (Kevin Masterson)
[email protected]

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

Versões vulneráveis:
0.48, tanto Win32 quanto Linux. Versões anteriores podem estar vulneráveis. Isso deve funcionar com qualquer versão do HLDS.

Tipo de vulnerabilidade:
DoS, execução remota de código sob o usuário que o HLDS está executando.

Descrição: Ao receber uma requisição HTTP POST, ele aloca 11 bytes na pilha para armazenar o valor de Content-Length, mas escreve nesse buffer até que uma nova linha ou terminador nulo seja recebido. Após a string Content-Length atingir 158308 bytes, começa a sobrescrever o EIP. Esse número pode ser ligeiramente diferente no Linux devido ao padding. Seu shellcode não deve conter 0x00, 0x0A ou 0x0D, caso contrário, ele parará de ler dados do socket.

Isso pode ajudar na execução do seu shellcode:

  • Para Win32:
    Existe um "FF E4" (jmp esp) no w_mm.dll v0.48 em 0x67E03C5B
  • Para Linux:
    Existe um "FF E4" (jmp esp) no metamod_i386.so v1.19 no offset 0x0008835C

Código de prova de conceito:
w48crash.c
Nota: O "shellcode" usado no PoC é codificado especificamente para funcionar com um servidor executando no Win2K SP4/kernel32.dll/user32.dll v5.0.2195.6688. No entanto, o estouro de buffer real funcionará como está em qualquer versão do Windows. Para testar isso, você pode definir a variável global "our_eip" como 0xFFFFFFFF para simplesmente causar uma falha.

Causa/Correção:
O código problemático está nas linhas 542-552 em 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';

O buffer, clbuf, alocado na linha 542, é escrito com o loop nas linhas 550-551, e então terminado com nulo. A correção é substituir a linha 550 por:

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