这是针对 CVE-2023-4911("Looney Tunables")的概念验证代码,它利用了 glibc 动态加载器中 GLIBC_TUNABLES 环境变量解析函数 parse_tunables() 的一个 bug。
这是将 C 语言的概念验证代码重写为纯 Python 实现。我这样做是为了更轻松地为其他平台定制漏洞利用代码。 唯一的依赖是 pwntools,可以通过以下方式安装:
python3 -m pip install --upgrade pwntools
原始 C 语言概念验证代码来自:https://github.com/leesh3288/CVE-2023-4911
此代码已在 Ubuntu 22.04.3 上测试,glibc 版本为 2.35-0ubuntu3.1
下图显示了 Ubuntu 的 su 可执行文件。这就是为什么选择 " 作为目录符号,以及 -20 字节的偏移量指向该符号的原因:

你应该检查目标机器上的 su 二进制文件,以确保偏移量和符号是正确的。