1、指纹识别

指纹由于其终身不变性、唯一性和方便性,几乎已成为生物特征识别的代名词。通常我们说的指纹就是人的手指末端正面皮肤上凸凹不平的纹线,纹线规律地排列形成不同的纹型。而本节所讲的指纹是指网站CMS指纹识别、计算机操作系统及Web容器的指纹识别等。应用程序一般在html、js、css等文件中多多少少会包含一些特征码,比如WordPress在robots.txt中会包含wp-admin、首页indexphp中会包含generator-wordpress 3.xx,这个特征就是这个CMS的指纹,那么当碰到其他网站也存在此特征时,就可以快速识别出该CMS,所以叫作指纹识别。在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CM语能查找与其相关的漏洞,然后才能进行相应的渗透操作。

CMS(Conkent ManagementSystem)又称整站系统或文章系统。在2004年以前,如果想进行网站内容管理,基本上都靠手工维护,但在信息爆炸的时代,完全靠手工完成会相当痛苦。所以就出现了CMS,开发者只要给客户一个软件包,客户自己安装配置好,就可以定期更新数据来维护网站,节省了大量的人力和物力。

常见的CMS有Dedecms(织梦)、Discuz、PHPWEB.PHPWind、PHPCMS.ECShop、 Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog·(WordPrest等。代表工具有御剑Web指纹识别、WhatWeb、WebRobo、椰树、轻量WEB指纹识。除了这些工具,读者还可以利用一些在线网站查询CMS指纹识别,如下所示。云悉指纹:http://www.yunsee.cn/finger.html。 BugScaner:http://whatweb.bugscaner.com/look/和WhatWeb:https://whatweb.net/。

2、查找真实IP allow:/ disallow luccenter 

在渗透测试过程中,目标服务器可能只有一个域名,那么如何通过这个域名来确定目标服务器的真实IP对渗透测试来说就很重要。如果目标服务器不存在CDN,可以直接通过wwwip138.com获取目标的一些IP及域名信息。这里主要讲解在以下这几种情况下,如何绕过CDN

3、社会工程学

社会工程学在渗透测试中起着不小的作用,利用社会工程学,攻击者可以从一名员工的口中挖掘出本应该是秘密的信息。

4、判断目标是否使用了CDN

通常会通过ping目标主域,观察域名的解析情况,以此来判断其是否使用了CDN。

还可以利用在线网站17CE(https://www.17ce.com)进行全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果,查看这些IP是否一致,如果都是一样的,极有可能不存在CDN。如果IP大多不太一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。

5、目标服务器存在CDN

CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说得简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(例如静态的html、css、js图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接分发到在离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。所以如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非直正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我们没法直接得到目标的真实IP段范围。