浅谈“Robots文件信息泄露”

一:漏洞名称:

Robots文件信息泄露、Robots.txt泄露

描述:

搜索引擎可以通过robots文件可以获知哪些页面可以爬取,哪些页面不可以爬取。Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯,如果robots.txt文件编辑的太过详细,反而会泄露网站的敏感目录或者文件,比如网站后台路径,从而得知其使用的系统类型,从而有针对性地进行利用。

检测条件:

Web业务运行正常。

Web中存储敏感的robots文件。

检测方法:

  1. 检测形式多样,工具爬虫扫描得到敏感文件的路径,从而找到robots文件,
  2. 手工挖掘,直接在域名后输入/robots.txt进行查看。

漏洞修复:

安全建议或者修复方案:(可根据实际情况,进行如下对应的修复)

  1. User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
  2. Disallow: / 这里定义是禁止爬寻站点所有的内容
  3. Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
  4. Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
  5. Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
  6. Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址
  7. Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片
  8. Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
  9. Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
  10. Allow: /tmp 这里定义是允许爬寻tmp的整个目录
  11. Allow: .htm$ 仅允许访问以".htm"为后缀的URL。
  12. Allow: .gif$ 允许抓取网页和gif格式图片
  13. Sitemap: 网站地图 告诉爬虫这个页面是网站地图。

其他补充说明:

来自:robots协议Disallow和Allow后带斜杠/和不带的区别

1、 User-Agent

User-Agent是指定搜索引擎种类的,且User-Agent:后面要有一个空格。

如果只想指定百度搜索引擎,就这样写

Markup

User-Agent: Baiduspider

如果既想指定百度,又想指定谷歌,就像这样写

Markup

User-Agent: Baiduspider
User-Agent: Googlebot

如果还要指定其他搜索引擎,直接再添加一条User-Agent记录,但想指定多个则继续添加多个User-Agent记录,可这样重复添加显得很繁琐,遇见这种情况,我们只需要用星号*代替,就可以表示指定所有搜索引擎,这样我们就只需要写一条记录即可,写法如下:

Markup

User-Agent: *

2、Disallow

Disallow用来说明不允许搜索引擎蜘蛛抓取的URL路径。

例如:Disallow: /index.php 禁止搜索引擎抓取index.php文件

3、Allow

Allow用来说明允许搜索引擎蜘蛛爬行的URL路径

例如:Allow: /index.php 允许搜索引擎抓取index.php文件

4、通配符*

用星号*来做通配符,表示0个或任意多个字符!

例如:Disallow: /*.jpg 网站所有的jpg文件被禁止抓取。

5、结束符$

用美元符号$来做结束符,表示以它前面的字符为结束的url。

例如:

Disallow: /?$   禁止抓取所有以问号?结尾的文件;

Allow: .html$  允许抓取所有以.html为后缀的文件。

注意事项:

一、在“/robots.txt”文件中,至少要有一条Disallow记录,允许收录优先级要高于禁止收录.

例如,我们希望所有搜索引擎只抓取a目录下的b.html这个页面,但在a目录下除b.html以外的所有文件和页面都被禁止抓取,写法如下:

Markup

User-agent: *
Allow: /a/b.htm
Disallow: /a/

以上协议规则表示所有搜索引擎可以抓取a目录下b.htm,该a目录下其他文件都被禁止

二、重点:robots.txt文件屏蔽目录带不带/斜杠的区别 :

首先,我们来看下面两条记,一个带斜杠/,而另一个不带斜杠:

Markup

Disallow: /admin
Disallow: /admin/

根据robots协议写法规范,区别如下:

1、不带/斜杠的Disallow: /admin表示屏蔽admin这个名字开头的所有目录。如:/admin1、/admin2、/admina或者/admin/以下的所有目录都是被屏蔽的。

2、带/斜杠的Disallow: /admin/表示屏蔽/admin/这个目录下的所以内容。如:/admin/abc、/admin/gsd/或者是/admin/4gy6/1df等,/admin/以下的目录都是被屏蔽的。但是它并不屏蔽本目录的内容,如:/admin还是允许抓取的。

 

 

当网站使用robots.txt文件时,它可以用来指示搜索引擎爬虫哪些页面可以被访问或不被访问。然而,如果robots.txt文件被错误地配置或者包含敏感信息,可能会导致敏感信息泄露的风险。 以下是一些可能导致robots.txt泄露敏感信息的情况: 1. 指示搜索引擎不访问敏感页面的错误配置:如果网站管理员错误地配置了robots.txt文件,可能会导致搜索引擎无意间访问到敏感页面,从而泄露敏感信息。 2. 明确列出敏感目录或文件:如果robots.txt文件明确列出了敏感目录或文件,并且搜索引擎遵循了这些指示,那么攻击者可能会通过查看robots.txt文件来获取敏感信息。 3. 误将敏感信息放在robots.txt文件中:有时候,网站管理员可能会错误地将敏感信息放在robots.txt文件中,这样一来,搜索引擎爬虫在遵循robots.txt指示时就会获取到这些敏感信息。 为了防止robots.txt泄露敏感信息,以下是一些建议: 1. 审查和测试robots.txt文件:确保正确配置了robots.txt文件,并且没有包含任何敏感信息。 2. 不要明确列出敏感目录或文件:避免在robots.txt文件中明确列出敏感目录或文件,以防止攻击者获取到这些信息。 3. 将敏感信息放在其他安全的位置:如果有必要,将敏感信息放在其他安全的位置,而不是放在robots.txt文件中。 4. 定期审查和更新:定期审查和更新robots.txt文件,以确保其中不包含任何过时或不必要的信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值