简单的robots协议

2021-12-20 21:12:47 浏览数 (1)

什么是robots协议?

robots协议是网站和搜索引擎之间的协议,你可以在文件中规定哪些文件不想给搜索引擎爬取到,又或者那些可以给爬取到,每次搜索引擎爬取内容的时候,都会看当前网站有没有robots.txt的文件,如果有,将robots.txt文件内指定可以访问或者不可以访问的页面保留或者过滤掉。robots.txt存在与网站的根目录,如果网站名叫做http://www.test.com/,robots文件存在于根目录的话,可以通过http://www.test.com/robots.txt访问robots文件的内容!那么如何规定哪些文件可以访问,哪些不能访问呢?

这就好比你自己有一个网站,网站有index.html,login.html,regist.html,passwd,download,假设你的网站的passwd是敏感文件,用于存放用户名密码的,你不能给别人看到,但是又不能删掉,这个时候,你可以将这个passwd写入到robots.txt,如果你想除了download这个文件可以访问之外,其他都不可以访问你也可以指定仅允许访问download,那么我该如何去告诉搜索引擎到底可以访问什么,不可以访问什么呢?如图所示

看到了不,我刚刚说不允许别人去访问passwd这个文件,就用Disallow去告诉搜索引擎不可以访问的文件或页面

如果仅仅只能访问download的话,使用Allow去指定可以访问的文件或页面

那么User-agent是什么呢?简单来说,就是指定某个或者所有搜索引擎都按照我的robots.txt内规定的来爬取,目前,市面上有很多种搜索引擎,比如百度Baiduspider,或者是谷歌Googlebot等等,如果你想针对谷歌搜索引擎爬虫遵循你的robots文件规定的话,你可以定义成:User-agent: Googlebot,如果是针对全部的搜索引擎爬虫那就是User-agent: *

robots协议的作用可大可小,如果你的网站完完全全是针对公众的,你可以不用这个文件,但是如果你的网站包含了一些不能面向大众的网页或者文件的话,在网站的根目录下写一个robots.txt是一个可行的办法

例题

通过介绍了robots协议之后,你做下面这一题目应该很轻松了

题目源自于攻防世界WEB新手区中的robots

题目:https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5063&page=1

writeup在后面,不建议直接看wp,先自己试一下能不能做出来,实在没思路,可以看提示,再看wp

解题思路wp

  • 打开环境,环境打开后,页面一面空白,除了title页面头有一个robots之外,没有别的了,那就习惯性点F12看一下有没有可以利用的提示,有一段给注释的代码,flag is not here,很明显flag不在这
  • 你可以对网站扫描或者盲猜,因为已经很明显告诉我们robots,所以,可以试一下在url后面加一个robots.txt看看有没有东西回显,在url后面添加一个/robots.txt

(如果使用工具的话,可以查看我另外一个盒子,两者结合,链接https://zhishihezi.net/b/rnea7Bx8?u_source=ZSHZ)

  • 果然有料到,在第三行的Disallow后面有一个php文件
  • 接着我们把这个文件放到url后面去访问,看看flag是不是在里面
  • 果不其然,一个美滋滋的flag出现了

0 人点赞