3.2 使用缓存进行匿名浏览
Google的缓存功能是件让人感到非常惊奇的事情。一个最简单的事实是如果Google曾经抓取了某个网页或者文档,即使源文件现在已经不存在或者更新了,那么你仍然很可能获得它的一个副本。当然它同样也有消极的一面,比如即使你已经从网站服务器上把敏感数据删除了,黑客仍然可以通过Google来得到这些数据的拷贝。缓存的另外一个不好的地方是那些坏家伙甚至不需要给服务器发送任何一个单独的数据包就能够抓取你的整个网站(包括网站中你已经“忘记”的区域)。如果你的网站服务器没有得到这些数据包,那么就无法在日志文件中记录。(你经常记录你的网络连接,对么?)如果在日志文件中没有记录,那么你也许就不会知道你的敏感数据已经被窃取了。每天都想着有成千上万兆字节的敏感数据从网站服务器中泄露出去是一件很让人发愁的事。了解黑客是如何通过Google的缓存对敏感数据实施匿名攻击是十分重要的。
Google会保存大部分它所抓取到的网页数据。虽然并不都是如此而且这种情况也是可以防止的,但是大多数Google抓取的数据都被复制了一份,而且可以通过搜索结果页面的缓存链接来访问。我们需要仔细研究Google的缓存文档标题中的微妙之处。图3-1所示的标题收集于www.phrack.org。
![]() |
(点击查看大图)图3-1 缓存的标题包含一个关于图片的细心的警告 |
如果你已经对缓存标题相当熟悉并且打算一略而过,那么请你稍微放慢一点并认真地看一看这个标题。图3-1中所示的缓存标题说“本缓存网页可能引用了已经不存在的图片”。通常很容易忽略这个消息,但它却提供了一条关于Google在幕后都做了什么的重要线索。
为了便于理解,我们来看一看当我们浏览这个缓存网页时,tcpdump所收集到的部分数据。可以使用tcpdump -n命令来捕捉这些数据。由于tcpdump的安装或者实现的不同,可能还需要使用-i选项来建立一个侦听接口。tcpdump命令的输出如图3-2所示。
![]() |
图3-2 在浏览一个缓存网页 时tcpdump所收集到的输出 |
- tcpdump -Xx -s 500 -Cn
按住Shift的同时重新加载会迫使大多数的浏览器与Web主机再次连接,而不是依赖浏览器可能用到的任何缓存。
![]() |
(点击查看大图)图3-3 Host头部域所显示的局部HTTP请求 |
0x30和0x40行表明我们正在从该服务器下载(通过一个GET请求)一个图片文件—确切地说是一个JPG图片。接下来的那一行显示了Host域,这指出我们正在和www.phrack.org网站服务器进行会话。根据这个Host头部以及这个数据包是发送到IP地址200.199.20.162的事实来看,我们可以大胆地假设Phrack网站服务器的虚拟主机服务器位于该地址。这意味着当我们在浏览Phrack网页的缓存版本时,是直接从Phrack服务器本身下载图片的。当我们正在借助于浏览Google的缓存网页来努力隐藏真实信息时,我们恰恰是在暴露自己!而且,0x90表明REFERER域也被传送给了Phrack服务器,而且这个域包含的URL正是Phrack的网页的Google缓存副本。这意味着不仅我们自己不是匿名的,而且我们的浏览器也告诉了Phrack网站服务器我们正在试图浏览该网页的缓存版本!关于匿名,我们就讲到这里。
大多数真正的黑客在浏览目标网页时都使用代理服务器,即便代理服务器在第一时间就能够知晓他们的Google行为,这也没有什么意义。如果我们使用的是一个匿名的代理服务器来进行测试的话,那么Phrack网站服务器只能得到代理服务器的IP地址,而不是我们的真实IP地址。
Google搜索背景知识
Google黑客的提示
如果你比较重视在线匿名,那么使用代理服务器是个不错的主意。渗透测试人员会使用代理服务器来模拟一个真实的黑客在一次入侵试图中做了哪些事情。查找有效、高质的代理服务器是一项很费力的任务,当然我们可以用一点Google hacking技巧来做这件事!使用Google来查找代理服务器,可以试试下面的查询:
- inurl:"nph-proxy.cgi" "Start browsing"
或者
- "cacheserverreport for" "This analysis was produced by calamaris"
这些查询能够查找到可以用于测试目的的在线公开代理服务器。没有什么比使用Google搜索来查找代理服务器更为方便的了!但是,还要记住,还可以通过许多其他方式来获取代理服务器,如网站atomintersoft或者samair.ru代理网站。试着用Google搜索来查找!不过,缓存标题给出的是一个仅浏览Google所捕捉的数据的选项,而没有任何外部引用。正如图3-1所示的,在标题的头部有一个标题为“Click here for the cached text only”(单击此处,只查看缓存文本)的链接。点击这个链接会产生如图3-4所示的tcpdump输出,此时使用的是tcpdump -n命令。
![]() |
图3-4 由tcpdump捕捉到的缓存文本 |
尽管事实上我们加载的仍是同一个页面, 但是现在我们只与G o o g l e 服务器(216.239.51.104)进行连接,而不与其他的外部服务器连接。如果观察缓存网页中的通过点击“cached text only”(只缓存文本)链接产生的URL,便可以发现Google添加了一个有用的参数,&strip=1。这个参数强制Google缓存URL只用来显示缓存文本,而避免任何外部引用。这个URL参数仅能用于引用Google缓存网页的URL。
总结上面的内容来看,我们可以不使用代理服务器就能够达到相当的匿名性,只需要使用一次快速的剪切和粘贴操作以及一个URL修改即可。例如一个Google查询site:phrack.org 。与点击缓存链接不同的是,我们在缓存链接上右击,然后把该URL复制到剪贴板,如图3-5所示。不同的浏览器对这个操作的处理均不同,所以你需要根据自己的情况去捕捉这个链接的URL。在把URL复制到剪贴板中之后,把它粘贴到浏览器的地址栏中,然后在URL的后面追加参数&strip=1。此时的URL应该类似于http://216.239.51.104/search?q=cache:LBQZIrSkMgUJ:www.phrack.org/+site:phrack.org&hl
=en&ct=clnk&cd=1&gl=us&client=safari&strip=1。在修改完URL之后按回车键以加载该页面,浏览器应该转到缓存页面的文本版本,它的标题与缓存页面的标题有些不同,如图3-6所示。
注意到该缓存标题读起来与标准的缓存标题不同。与“This cached page may reference imageswhich are no longer available”(本缓存网页可能引用了已经不存在的图片)不同的是,这一行变成了“Click here for the full cached version with images included”(单击此处,查看完整的缓存网页(包含图片))。这表明当前缓存页面已经剔除了外部引用。遗憾的是,这个页面并不包含图片,所以看起来和原始页面不一样,而且在某些时候根本就看不清楚。如果碰到这种情形,你仍可以使用代理服务器来打开这个页面,但是真正的Google黑客“根本就不需要代理服务器”!
![]() |
(点击查看大图)图3-5 利用剪切和粘贴来实现匿名缓存浏览 |
![]() |
(点击查看大图)图3-6 清理后的缓存页面标题 |
Google搜索背景知识
玩转关键字高亮
如果你曾在文档中一页页地翻着来查找某个特定的单词或者词组,那么你也许已经知道Google的缓存版本页面会对搜索关键字进行高亮显示。但是你可能还不知道可以使用Google的高亮工具在缓存网页中高亮显示某些并不包含在原始搜索中的关键字。虽然这样会让URL更为冗长,但其操作是非常显而易见。例如,如果你搜索peeps marshmallows并且浏览第二个缓存网页,那么该缓存网页的URL的一部分类似于www.peepresearch.org/peeps+marshmallows&hl=en。请注意基础URL后面列出的我们使用的搜索关键字。如果想高亮其他的关键字,只需注意基础URL的后部的区域,在本例中是+peeps+marshmallows。此时,只要在这里添加或者删除一些单词,然后按回车,Google就会在浏览器中高亮这些关键字!例如,要在高亮单词表中添加f e a r 和r i s k , 只需在U R L 中添加这两个单词即可, 添加后的U R L 如下:www.peepresearch.org/+fear+risk+peeps+ marshmallows&hl=en。你知道Marshmallow Peeps是否真的害怕?不相信我?那就问Google好了。
回书目 上一节 下一节 |
联系客服