一、背景
最近报了某机构的PTE证书课程,让我简单做了一些CTF相关小测试看看是否有渗透基础,因大学毕业后有一段时间没有接触,准备重新捡起渗透的知识,做些笔记。
二、robots题过程
打开第一,看到“robot”关键词,联想到“robots.txt”
尝试输入“http://xxxxxxxxx/robots.txt”,显示key及其他相关信息,解题成功
三、robots.txt简单解析
虽然做题可以直接使用“/robots.txt”进行解答,但是个人不太记得该文件具体用途,只记得极其重要,于是选择去查阅资料。
百度百科给出的解释是:
robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
简单来说,robots.txt就是位于网站根目录的一个txt文本文件,主要的作用是告诉搜索引擎哪些页面可以抓取,哪些页面不可以抓取。一般我们查看它只需要输入:网站根目录/robots.txt
四、robots.txt内容语法
User-agent: 爬虫的名称
Disallow: 不允许爬虫访问的地址
Allow: 允许爬虫访问的地址
注意:
- 所有字母需要用英文输入法。
- :与 * 之间需有一个英文输入法的空格。
- :与 / 之间需有一个英文输入法的空格。
- 地址的描述格式符合正则表达式(regex)的规则。
- Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
- 使用"*"和"$":robots支持使用通配符"*"和"$"来模糊匹配url,"$" 匹配行结束符,"*" 匹配0或多个任意字符。
五、常见robots.txt内容和示例
常见robots.txt内容:
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
Disallow: /ABC 这里定义是禁止爬寻ABC整个目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
Disallow: /*?* 禁止访问网站中所有的动态页面
Disallow: .jpg$ 禁止抓取网页所有的.jpg格式的图片
Disallow:/ab/adc.html 禁止爬去ab文件夹下面的adc.html所有文件
Disallow: /admin/ 后台管理文件
Disallow: /require/ 程序文件
Disallow: /attachment/ 附件
Disallow: /images/
Disallow: /data/ 数据库文件
Disallow: /template/ 模板文件
Disallow: /css/ 样式表文件
Disallow: /lang/ 编码文件
Disallow: /script/ 脚本文件
User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是允许爬寻tmp的整个目录
Allow: .htm$ 仅允许访问以".htm"为后缀的URL。
Allow: .gif$ 允许抓取网页和gif格式图片robots.txt文件用法举例
示例:
只允许搜索引擎访问网站首页:
User-agent: *
Disallow: /*
禁止任何搜索引擎索引网站的所有部分
user-agent: *
Disallow: /
禁止某个搜索引擎索引(比如百度)
user-agent: Baiduspider
Disallow: /
禁止除了百度外的一切搜索引擎索引
user-agent: Baiduspider
Disallow: user-agent: *
Disallow: /
禁止所有搜索引擎访问jpg图片
User-agent: * #用通配符表示
Disallow: .jpg$
六、robots.txt的作用
- 控制搜索引擎蜘蛛的访问:网站所有者可以通过robots.txt文件控制搜索引擎蜘蛛的访问,以限制蜘蛛只抓取特定的页面或目录,从而避免不必要的带宽消耗和服务器负载。
- 隐藏敏感页面:网站所有者可以使用robots.txt文件来阻止搜索引擎抓取某些敏感页面,例如账户管理、登录等页面,以避免这些敏感页面被搜索引擎收录和暴露在公共搜索结果中。
- 提高SEO效果:通过robots.txt文件,网站所有者可以指示搜索引擎如何处理网站内部链接和外部链接,从而提高SEO效果。
- 给搜索引擎提供重要信息:在robots.txt文件中,网站所有者可以提供其他有用的信息,例如Sitemap的地址、Crawl-delay(抓取时间间隔)、Host等信息,以帮助搜索引擎更好地理解和处理网站内容。
参考链接:
robots_百度百科 (baidu.com)
https://blog.csdn.net/qq_21891743/article/details/131136470