Rails 如何隐藏 Ruby on Rails 制作的网站的特征?

jonnoj · 2018年12月10日 · 最后由 jonnoj 回复于 2018年12月17日 · 2561 次阅读

浏览器通常有些插件 (比如:wappalyzer.com) 根据一些网站使用的技术栈,出于安全或者其他方面考虑。

请教同学们有没有办法隐藏这些特征?

楼上的方法只能防止一般的检查方法。Rails 做的网站,页面头里都有

<meta name="csrf-param" content="authenticity_token" />

你为了防止被探测到,难道要把 csrf 去掉?

qichunren 回复

自己改一下了重写一个 helper 就是了

加点别的容易识别的特征,混淆?

特征太多了,你要按着 metasploit 做一遍……

qichunren 回复

我玩 php 的时候,里面就塞 csrf,header 里还写 x-power-by asp.net 😄

@Rei @zouyu @luikore @lidashuang @huobazi

wappalyzer 是使用这个配置来识别 rails 的: https://github.com/AliasIO/Wappalyzer/blob/0d7c20e95c4cbe40b490a440483af201942e6eed/src/apps.json#L6038-L6053

header 里的 Server 可以用 nginx 改,但这个csrf-param就不知道怎么改了,下面的application静态文件也好改,相信这三个都改完后,应该就识别不了了。

jonnoj 回复

重写 csrf_meta_tags 方法可以改 csrf-param

def csrf_meta_tags
  if protect_against_forgery?
    [
      tag("meta", name: "csrf-param", content: request_forgery_protection_token),
      tag("meta", name: "csrf-token", content: form_authenticity_token)
    ].join("\n").html_safe
  end
end

这样真的就能安全性吗

fangxing204 回复

没有绝对的安全,但比什么都不做好。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号