Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/thecybermind/w48crash
漏洞分析漏洞利用Shellcode渗透测试远程访问工具二进制利用
GitHubthecybermind/w48crash

w48crash

webmod v0.48 漏洞的 PoC 代码。最初编写于 2007 年,被分配为 CVE-2007-1260。

查看仓库
121年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

WebMod 栈缓冲区溢出 CVE-2007-1260

作者:cybermind (Kevin Masterson)
[email protected]

WebMod 网站(存档):https://web.archive.org/web/20080517044559/http://djeyl.net/w.php

受影响版本:
0.48,包括 Win32 和 Linux。之前的版本也可能存在漏洞。该漏洞应适用于任何版本的 HLDS。

漏洞类型:
DoS、以 HLDS 运行所用用户的权限执行远程代码。

描述: 当收到 HTTP POST 请求时,它会在栈上分配 11 字节来存储 Content-Length 的值,但会向该缓冲区持续写入,直到收到换行符或空终止符。当你的 Content-Length 字符串达到 158308 字节后,它开始覆盖 EIP。由于填充(padding)原因,这个数值在 Linux 上可能略有不同。你的 shellcode 不能包含 0x00、0x0A 或 0x0D,否则它将停止从套接字读取数据。

以下内容可能有助于执行你的 shellcode:

  • 对于 Win32:
    在 w_mm.dll v0.48 的 0x67E03C5B 处有一个 "FF E4"(jmp esp)
  • 对于 Linux:
    在 metamod_i386.so v1.19 的偏移 0x0008835C 处有一个 "FF E4"(jmp esp)

概念验证代码:
w48crash.c
注意:PoC 中使用的“shellcode”是硬编码的,专门用于在 Win2K SP4/kernel32.dll/user32.dll v5.0.2195.6688 上运行的服务器。不过,实际的缓冲区溢出在任何 Windows 版本上都可以原样工作。要测试这一点,你可以将“our_eip”全局变量设为 0xFFFFFFFF,仅造成崩溃。

原因/修复: 问题代码位于 server.cpp 第 542-552 行:

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';

在第 542 行分配的缓冲区 clbuf 会被第 550-551 行的循环写入,然后以空字符结尾。修复方法是将第 550 行替换为:

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