渗透测试与信息收集中的Google Hack和Robots.txt

什么是Google Hack

在渗透测试中,信息收集是尤为重要的一部分而Google Hack则是利用 Google 搜索引擎的高级搜索功能来查找并利用网站或系统的安全漏洞的行为。通过精确的搜索语法和关键词,黑客可以找到一些未经授权的信息,比如网站的敏感目录、用户名和密码、甚至是代码错误。这些信息可能被黑客用来入侵系统或进行其他恶意活动。因此,对于网站和系统的管理员来说,需要关注这些可能的 Google Hacks,确保系统的安全防护措施。

基本语法

intitle: 搜索标题
inurl: 搜索url
intext: 搜索网页内容
site: 与什么相关
filetype: 文件类型 doc ,ppt ,php等

常用语法

SQL注入页面:site:tw inurl:?id=1…100000 filetype:php
用户名和密码文件:filetype:txt intext:username and password
某网站后台登录页面:site:www.baidu.com intitle
指定端口网站: inurl:8443 -intext:8443
排除子域名: site:baidu.com -site:video.baidu.com
asp 上传漏洞网页: inurl: upload.asp
敏感文件 site:tw filetype:inc intext:mysql_connect
特定网站:intitle: “apache tomacat” inurl:8080
目录转路径:intext: to parent directory
目录遍历: intext:“index of”

如何防止Google Hack

我们不妨先思考下Google Hack的本质,它其实是利用搜索引擎语法,挖掘互联网上暴露敏感信息的网站漏洞。因此,要想防止Google Hack,我们并非要与搜索引擎对抗,而是要从根源上杜绝这些漏洞。试想一下,如果把互联网比作一片海洋 ,网站就好比航行其中的船只。Google Hack就像是在这片海洋中搜寻那些意外落水之人的工具。与其想方设法阻止搜救,不如从一开始就做好安全措施,避免有人落水。

首先,要确保网站本身的代码要足够安全,能够抵御常见的攻击手段,例如SQL注入、跨站脚本攻击等。

其次,要保管好网站上的敏感信息,例如数据库密码、用户隐私数据等,需要进行加密存储和访问控制。

最后,要定期检查网站状况,及时修补漏洞,并对船员进行安全培训,提高安全意识。总而言之,防止Google Hack的关键在于加强网站自身的安全防护,从源头上杜绝漏洞。就好比建造一艘安全可靠的船只,才能安心航行,而不必担心落水风险。

什么是robots.txt

robots.txt文件就好像放在家门口的指示牌,告诉搜索引擎的“蜘蛛” 哪些房间可以进,哪些房间不能进。这样一来,既能保护网站隐私,又能引导搜索引擎更好地理解网站结构,从而更有效地抓取和索引网站内容。不过,robots.txt更像是一种“君子协议”,它本身并没有强制约束力。一些“不守规矩”的程序也许会无视这些规则。也就是说,robots.txt协议文件其实是给搜索引擎准备的。比如谷歌的蜘蛛来到网站,首先就会检查网站的robots规则,然后根据这些规则的指导进行爬取工作。所以,一般网站都是需要配置合适的robots规则,尤其是网站的某些类目或者页面不想被搜索引擎抓取到。如果网站没有配置robots文件,就相当于默认全站均可抓取。robots.txt就是指导这些爬虫的抓取,而User-agent指令则是规定robots的限定对象。比如,对象限定为谷歌,就可以用:User-agent: Googlebot,Googlebot就是谷歌的爬虫代号,从而达到有些内容只给谷歌抓取,而不给百度的目的,此外其它一些搜索引擎爬虫代号还有:

搜索引擎       蜘蛛代号
谷歌       Googlebot
百度       Baiduspider
360搜索 360Spider
搜狗       Sogou News Spider
必应       bingbot

robots.txt的结构

robots.txt用一种特定的格式写成,主要由两部分组成:

1. User-agent: 这部分像是点名,指明这条规则是针对哪个搜索引擎蜘蛛的。比如,"User-agent: * " 就表示这条规则适用于所有蜘蛛。

2. Disallow: 这部分是具体的规定,告诉蜘蛛哪些页面不允许访问。比如,"Disallow: /private/" 就表示禁止访问 /private/ 目录下的所有页面。

除了这两部分, robots.txt 文件中还可以使用一些其他的指令,例如:

  • Allow: 与 Disallow 相反,用来指定允许蜘蛛访问的页面或目录。
  • Sitemap: 告诉蜘蛛网站地图的位置,方便蜘蛛更全面地抓取网站内容。
  • Crawl-delay: 设置蜘蛛访问网站的频率,避免对服务器造成过大的压力。

需要注意的是,robots.txt 只是一个“君子协议”,并不能完全阻止恶意访问,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。

1.User-agent:(定义搜索引擎)

User-agent: *(定义所有搜索引擎)

User-agent: Googlebot (定义谷歌,只允许谷歌蜘蛛爬取)

User-agent: Baiduspider (定义百度,只允许百度蜘蛛爬取)

2.Disallow指令就是规定网站中哪些内容不想被搜索引擎抓取。

1、 User-agent: * 这里的代表的所有的搜索引擎种类,是一个通配符
2、 Disallow: / 这里定义是禁止爬寻站点所有的内容
3、 Disallow: /admin/ 这里定义是禁止爬寻 admin 目录下面的目录
4、 Disallow: /ABC/ 这里定义是禁止爬寻 ABC 目录下面的目录
5、 Disallow: /bin/.htm 禁止访问/bin/目录下的所有以".htm"为后缀的 URL以及子目录
6、 Disallow: /?* 禁止访问网站中所有包含问号的网址
7、 Disallow: /.jpg$ 禁止抓取网页所有的.jpg 格式的图片
8、 Disallow:/temp/password.html 禁止爬取 temp 文件夹下面的 password.html 文件。

3.Allow指令告诉搜索引擎哪些页面可以被抓取,这个指令一般是配合着Disallow指令发挥作用,毕竟如果没有Disallow,那就已经默认可以抓取了。

1、 Allow: /bin/ 这里定义是允许爬取 bin 目录下面的目录
2、Allow: /tmp 这里定义是允许爬取 tmp 的整个目录
3、Allow: .htm$ 仅允许访问以".htm"为后缀的 URL。
4、Allow: .gif$ 允许抓取网页和 gif 格式图片
5、Sitemap: 网站地图 告诉爬虫这个页面是网站地图。

注意

Disallow与Allow行的顺序是有意义的

允许蜘蛛访问 /temp/ 目录下的123文件夹

User-agent: *     

Allow: /temp/123/

Disallow: /temp/

如果Allow 和 Disallow 的顺序调换一下:

User-agent: *     

Disallow: /temp/

Allow: /temp/123/

蜘蛛就无法访问到 /temp/ 目录下的 123 文件夹,因为第一个 Disallow: /temp/ 已匹配成功。(与防火墙的访问控制语句相似)

如何制作robots.txt文件

首先桌面创建一个txt文本,然后命名为robots即可。书写规则内容时,注意:每行一个规则指令,如果是两段规则,中间空一行;
使用英文输入法,不要使用中文输入法,: 号后面空一格。
示例:

User-agent: *(所有搜索引擎均可爬取)
Disallow: /(禁止访问内容)

User-agent: Baiduspider(仅限百度搜索引擎可爬取)
Allow: /(允许访问内容)

robots.txt 泄漏敏感信息

测试方法:
1、检测形式多样,工具爬虫扫描得到敏感文件的路径,从而找到 robots 文件;
2、手工挖掘,直接在域名后输入/robots.txt 进行查看。
风险分析:攻击者可通过发现robots.txt文件,收集网站的敏感目录或文件,从而有针
对性的进行利用。

风险等级:
【低危】:robots.txt中存在allow和disallow的具体内容泄露敏感目录信息。

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值