一、什么是Robots.txt
Robots是一个协议,全称为“网络爬虫协议”,也称爬虫协议、机器人协议等。网站通过Robots协议告诉搜索引擎哪些页面可以访问,哪些不可以访问。
二、如何查看robots.txt
在浏览器的网址搜索框中,输入根域名,再输入/robots.txt即可,如下图所示:
三、robots.txt的内容
1.User-agent
指定搜索引擎,若为“*”,则表示允许所有搜索引擎
注:
(1)当robots.txt不为空的时候,必须至少有一条User-agent的记录
(2)相同名字,只能有一条,但是不同的搜索引擎,可以有多条记录
2.Disallow
禁止访问的目录
注:
(1)在robots.txt中至少要有一条Disallow
(2)Disallow记录为空,则表示网站所有页面都允许访问
(3)使用disallow,每个页面必须单独分开声明
3.Allow
允许访问的目录
4.Sitemap
向搜索引擎提交网站地图,增加网站收录
四、如何利用
robots.txt文件本身不能说是漏洞,但是在配置过程中使用不规范的编写方式可能会存在敏感信息或目录泄露的风险。
1.敏感信息泄露
在robots.txt中可能会设置很多敏感目录,如管理后台地址、phpmyadmin地址等。为了不让搜索引擎抓取到,往往就在robots.txt中添加对应的路径,从而造成敏感信息泄露,敏感配置文件同理。
2.网站指纹识别
可以通过robots.txt中目录的结构推断出网站是基于什么框架开发的。如常见的WordPress、Discuz等CMS其robots.txt都是特定的,在默认情况下可以直接通过该文件推断CMS。
五、修复建议
(1)避免在robots.txt中直接编写敏感目录、文件、后台等信息,使用通配符“*”对目标目录或文件范围模糊处理。
(2)避免常规的文件及目录命名方式,以免攻击者可以轻易猜测文件目录。
(3)将敏感文件和目录转移到另一个隔离的子目录,以便将此目录排除在robots.txt的搜索之外。