简单修复360安全检测提示的发现robots文件漏洞

建站笔记2年前 (2023)更新 小萝卜头
1,102 0 0

很久没看过 360 的站长平台了,于是在 360 搜索中 site 了一把,发现居然安全评分是 99,而不是 100。好奇点进去看了下,发现下面这个大奇葩:

呐尼?发现 robots.txt 文件?这也算漏洞?继续看了下解释:

漏洞类型:
信息泄露
所属建站程序
其他
所属服务器类型:
通用
所属编程语言:
其他
描述:
目标 WEB 站点上发现了 robots.txt 文件。
1.robots.txt 是搜索引擎访问网站的时候要查看的第一个文件。
– 收起
2.robots.txt 文件会告诉蜘蛛程序在服务器上什么文件是可以被查看的什么文件是不允许查看的。举一个简单的例子:当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存 robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。同时 robots.txt 是任何人都可公开访问的,恶意攻击者可以通过分析 robots.txt 的内容,来获取敏感的目录或文件路径等信息。
危害:
robots.txt 文件有可能泄露系统中的敏感信息,如后台地址或者不愿意对外公开的地址等,恶意攻击者有可能利用这些信息实施进一步的攻击。
解决方案:
1. 确保 robots.txt 中不包含敏感信息,建议将不希望对外公布的目录或文件请使用权限控制,使得匿名用户无法访问这些信息
2. 将敏感的文件和目录移到另一个隔离的子目录,以便将这个目录排除在 Web Robot 搜索之外。如将文件移到“folder”之类的非特定目录名称是比较好的解决方案: New directory structure: /folder/passwords.txt/folder/sensitive_folder/
New robots.txt: User-agent: * Disallow: /folder/
3.     如果您无法更改目录结构,且必须将特定目录排除于 Web Robot 之外,在 robots.txt 文件中,请只用局部名称。虽然这不是最好的解决方案,但至少它能加大完整目录名称的猜测难度。例如,如果要排除“admin”和“manager”,请使用下列名称(假设 Web 根目录中没有起始于相同字符的文件或目录):

隐藏内容!
评论后才能查看!

原文地址:http://webscan.360.cn/vul/view/vulid/139

大概是懂了,就是 robots 会泄漏网站后台或其他敏感地址,我之前遇到不想让人通过 robots 知道的地址,我也会使用上述解决办法中的第 3 条,只写局部字符串。
但是,这些完全是掩耳盗铃的做法,明眼人都能轻松识别博客WordPress 还是其他建站程序,什么敏感目录根本没法隐藏,当然隐藏了也没啥用。
不过,看到不是 100 分就不爽,所以我也掩耳盗铃的解决一下吧!
我的思路很简单,对于非蜘蛛抓取 robots.txt 行为一律返回 403,也就是 robots.txt 只对蜘蛛开放。实现非常简单,在 Nginx 配置中加入如下代码即可:
#如果请求的是 robots.txt,并且匹配到了蜘蛛,则返回 403
location = /robots.txt {
if ($http_user_agent !~* “spider|bot|Python-urllib|pycurl”) {
return 403;
}
}

加入后 reload 以下 Nginx,然后再到浏览器访问 robots 地址,应该能看到禁止访问 403 了。
随即去 360 扫描了一把,结果并不意外:

哦了,问题就简单的解决了,仅仅只是为了这句“神马黑客都是浮云,网站安全比肩 360,实在是给力!”,呵呵呵。。。挡一挡网络上的匿名扫描还行,其他的就真的只是浮云了。

收录于{张戈博客} 原文链接原文链接

© 版权声明

相关文章

暂无评论

暂无评论...