最近开始学习网络安全的相关知识,开启刷题,当前第一题
题目为攻防世界web新手题
这是题目
翻译:在这个训练挑战中,您将了解 Robots_exclusion_standard。网络爬虫使用 robots.txt 文件来检查是否允许它们对您的网站或仅网站的一部分进行爬网和索引。有时,这些文件会显示目录结构,而不是保护内容不被爬取。
知识点:
robots协议:robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取。但是,这个robots协议不是防火墙,也没有强制执行力,搜索引擎完全可以忽视robots.txt文件去抓取网页的快照。
robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。 robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统安装了Notepad,就可以创建和编辑它。robots.txt是一个协议,而不是一个命令。robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。
当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
如果将网站视为酒店里的一个房间,robots.txt就是主人在房间门口悬挂的“请勿打扰”或“欢迎打扫”的提示牌。这个文件告诉来访的搜索引擎哪些房间可以进入和参观,哪些房间因为存放贵重物品,或可能涉及住户及访客的隐私而不对搜索引擎开放。但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文件
Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
Allow: /tmp 这里定义是允许爬寻tmp的整个目录A
在查阅资料后,知道robots.txt一般放在根目录下,搜索引擎搜索这个网站时,首先访问这个robots.txt,如果它存在,那就按照它上面写的,该不碰的页面就不碰,如果它不存在,那搜索引擎就可以查阅所有没有口令保护的页面。
思路:
1.题目中提到可能会暴露目录结构,且提到了robots.txt,我们拼到URL中试一下
进入,发现页面,看到不允许抓取/f10g.php
拼到url中:拿到flag
总结:主要就是要会构造url发请求
或者用dirsearch工具扫描网址
可以看到根目录下的robots.txt文件,其余步骤一样