网络安全渗透测试
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4 Web信息收集

3.4.1 Web指纹识别

指纹识别是指网站CMS(Content Management System)内容管理系统的探测、计算机操作系统及Web 容器的指纹识别等。应用程序一般在HTML、JS、CSS等文件中包含一些特征码,这些特征码就是所谓的指纹。当碰到其他网站也存在此特征时,就可以快速识别出该程序,所以叫作指纹识别。

WebCMS指纹识别大体上有两种方法,一种是特定页面文件内容匹配,另一种是特定文件的MD5值匹配。

3.4.1.1 文件内容匹配

WordPress是全球比较流行的一个WebCMS,它是由PHP语言编写的,在WordPress搭建的网站中就可以找到WordPress相关的字样信息。

WordPress指纹如图3-16所示。

图3-16 WordPress指纹

从上图可以看到,目标系统的WordPress的版本为4.6,这就是一个最基础的通过文件内容来匹配CMS的例子。

3.4.1.2 文件MD5值匹配

WordPress 4.6版本网站根目录下默认存在一个名为license.txt的文件,它的MD5值为:a2b365a131a3aaa578bcce14ae9a0512。

我们先访问目标根目录下的license.txt文件,具体内容如图3-17所示。

图3-17 license.txt文件内容

发现该文件的确存在的,尝试下载这个文件,检测目标的MD5值:

的确和理论上的MD5值相同,所以可以确定该网站运行的系统为WordPress 4.6。

不过,以上两个案例都是最基础的案例,在实际的渗透测试过程中,通常会将上述的特征值整合到指纹库里供扫描器调用,图3-18便是一个开源指纹库的截图信息。目前也有一些在线网站可以提供指纹识别的功能,在此不一一赘述。

图3-18 开源指纹库