通过操纵头文件攻击在线编译系统

Hanno Böck,该项目的作者 模糊测试项目.org, 注意到 允许处理 C 语言外部代码的交互式编译接口的漏洞。 在“#include”指令中指定任意路径时,编译错误包含无法编译的文件内容。

例如,通过将“#include”替换为在线服务之一的代码中“输出能够从 /etc/shadow 文件中获取 root 用户密码的哈希值,这也表明 Web 服务正在以 root 权限运行,并在 root 用户下运行编译命令(有可能是一个隔离的容器)编译时使用了,但在容器中用root权限启动也是个问题)。 可以重现该问题的有问题的服务尚未公布。 尝试打开伪 FS /proc 中的文件不成功,因为 GCC 将它们视为空文件,但从 /sys 打开文件可以。

来源: opennet.ru

添加评论