Nginx inode 信息泄露

问题描述

我在 Burp Suite 响应部分中遇到了一个我以前从未见过或注意到的词。 ETag。 我做了一些关于这是什么的研究,但不幸的是我什么都看不懂,因为我对工作的理论部分不了解。

随着时间的推移,我将了解 ETag 是什么。但我现在想问的有点不同。

Burp Suite request 中的两个值是:

If-Modified-Since: Wed,30 Dec 2020 08:46:04 GMT
if-none-match: W / "5f ***** c-d **" (I hid it on purpose)

回应中的这个:

ETag: "5f ***** c-d **"

注意:Server: Nginx / 1.14.0 (Ubuntu)

这是一个漏洞吗?如果是漏洞,攻击者如何利用?

我很好奇这是否确实是一件可报告的事情。

解决方法

inode 是特定于文件的服务器内部信息,因此许多安全扫描软件会将其报告为漏洞。

但是,您在网络上几乎找不到有关如何将其转化为真正的黑客行为的信息。它可能有助于发现文件 A 与文件 B 是硬链接(同一文件,在同一文件系统上),仅此而已。

Apache 一度将文件的 inode 作为 ETag 标头值的一部分(这是可配置的并且可以禁用)。 Apache 从 2.4 版开始默认停止这种包含。 NGINX 本身从未将文件的 inode 用作其 ETag 标头的一部分。

然而,安全扫描软件仍然会将 NGINX 报告为泄漏 inode 信息,因为他们永远不知道它是代理旧的 Apache 还是其他实际泄漏 inode 信息的软件。

因此,如果您正在运行仅支持 NGINX 的设置,则可以说这是误报。 如果你不这样做,你仍然可以说这是误报,因为“好吧,这是服务器内部的,但没有人能够用它做任何事情”。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...