我有一个Meteor应用程序,我只将其列入白名单中的一个特定IP。
所以就像这样
handleRoute(req,res) => {
if (req.HEADERS[x-forwarder-for]) === WHITELISTED_IP) {
next(res,req)
} else {
res.writeHead(404);
res.end();
}
}这样就可以得到一个404的页面。
但是,这可能导致攻击者知道该站点至少存在。如果可能的话,我想进一步混淆这一点。
例如,如果你去一些obscure site that doesn't exist,你可能会看到一些来自你的互联网服务提供商的首页。我猜这是ISP在DNS查找失败时设置的。
我想知道是否有可能以某种方式展示这一点。这将使用标准节点HTTP请求请求,即res API。谢谢!
发布于 2021-04-29 05:13:44
不,这不可能。一旦控制流到达您的Node应用程序,攻击者就会知道它的存在。他们将能够区分浏览器在DNS中查找域名失败时呈现的页面与您返回给他们的页面之间的区别。此外,他们不会使用浏览器来调查目标,因此他们将比用户在浏览器中看到的要多得多。
我认为你最好的办法是复制和粘贴一个恼人的域名停放页面,这些页面是web主机在购买域名时放在域名上的,但现在还没有托管页面。理想情况下,你会使用你用来获取域名的域名注册商的停车页面,因为这将是最可信的。当然,尝试复制整个消息(包括报头),而不仅仅是HTTP正文。与提供假的“无法解析域名”页面的想法不同,这个页面应该是完全可能的。
https://stackoverflow.com/questions/67307002
复制相似问题