Natas Wargame Level 3 Writeup 与 robots.txt

从HTML的注释代码来看,“google无法搜索到这个页面” -> 说明该网站很可能设置了防爬虫机制:robots.txt

以下是robots.txt的介绍(来自维基百科):

---------------------------------------------------------------------------------

robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛), 此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件 名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下 的robots.txt,或者使用robots元数据(Metadata,又稱元資料)。

robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似"Disallow: *.gif"这样的通配符[1][2]

其他的影响搜索引擎的行为的方法包括使用robots元数据

<meta name="robots" content="noindex,nofollow" />

这个协议也不是一个规范,而只是约定俗成的,有些搜索引擎会遵守这一规范,而其他则不然。通常搜索引擎会识别这个元数据,不索引这个页面,以及这个页面的链出页面。

例子:

允许所有的机器人:

User-agent: *
Disallow:

另一写法

User-agent: *
Allow:/

仅允许特定的机器人:(name_spider用真实名字代替)

User-agent: name_spider
Allow:

拦截所有的机器人:

User-agent: *
Disallow: /

禁止所有机器人访问特定目录:

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/

仅禁止坏爬虫访问特定目录(BadBot用真实的名字代替):

User-agent: BadBot
Disallow: /private/

禁止所有机器人访问特定文件类型[2]

User-agent: * Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$

另外还有一些扩展指令。

---------------------------------------------------------------------

于是访问根目录下的robots.txt文件:

得到禁止所有爬虫(spider,crawler)访问的目录s3cr3t/:

得到用户密码:

natas4:Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ

 

总结:网站防止爬虫访问的目录或者文件可能含有敏感文件,这也是一个切入点。

posted @ 2017-05-12 11:54  QiuhaoLi  阅读(326)  评论(0编辑  收藏  举报