NineOnee

导航

 

知识点

搜索引擎

搜索引擎是一个帮助用户搜索他们需要内容的计算机程序。换一种说法,搜索引擎把计算机中存储的信息与用户的信息需求相匹配,并把匹配的结果展示出来。

举个例子,老王想买个iphon11装B,然后就在google的搜索框里输入了"iphone 11售价“。这里老王的关词"iphone 11"就是他的信息需求。google显示出搜索结果的那零点几秒之间,它的程序在巨大的数据库里按照关键字进行了查找,终于计算出所有关于Iphone11价格的所有网页。

网络爬虫

互联网上的信息存储在无数个服务器上,任何搜索引擎要想回答用户的搜索,首先要把网页存在自己本地的服务器上,这靠的就是网络爬虫。它不停的向各种网站发送请求,将所得到的网页存储起来。然后用户用google搜索时,google就会将这些页面呈现给用户。

robots协议

当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。百度官方建议,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。

如果将网站视为酒店里的一个房间,robots.txt就是主人在房间门口悬挂的“请勿打扰”或“欢迎打扫”的提示牌。这个文件告诉来访的搜索引擎哪些房间可以进入和参观,哪些房间因为存放贵重物品,或可能涉及住户及访客的隐私而不对搜索引擎开放。但robots.txt不是命令,也不是防火墙,如同守门人无法阻止窃贼等恶意闯入者。

也就是说有些搜索引擎可以不顾robots协议爬取你disallow的内容,这是个君子协议。设立robots.txt协议的意义在于,每个服务器所分配到的爬虫是有限的,而如果允许爬取所有内容的话,会影响到爬虫的效率,并且爬取到无关的内容及隐私文件,设置disallow,就可以让爬虫爬取你想要被爬取的文件,就可以提高爬虫的效率,并且保护了隐私文件。

思路

robots.txt保存在网站根目录下,直接构造payload:/robots.txt

User-agent: *
Disallow: /fl0g.php


User-agent: Yandex
Disallow: *

看到不允许爬取fl0g.php,属于robots.txt暴露文件路径,我们试着访问/fl0g.php,就有了flag.
在CTF中,robots协议不允许你查看什么,你就偏要进去看一下

posted on 2020-10-12 23:29  NineOne_E  阅读(230)  评论(0编辑  收藏  举报