服务指纹识别 指纹识别是什么? 指纹识别的目的 常见指纹检测的对象 常见指纹识别方式 常见指纹识别工具 乌云漏洞库查询CMS

指纹是指网站CMS指纹识别、计算机操作系统以及web容器的指纹识别等。
应用程序一般在html、js、css等文件中包含一些特征码,这些特征码就是所谓的指纹。当碰到其他网站也存在次特征时,就可以快速识别出该程序,所以叫做指纹识别。

指纹识别的目的

知道对方使用的CMS(是自己开发还是开源的,有什么端口,中间件,IP,服务器存放地址),二级域名,敏感信息等

常见指纹检测的对象

1、CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;
2、前端技术:比如HTML5、jquery、bootstrap、pure、ace等;
3、Web服务器:比如Apache、lighttpd, Nginx, IIS等;
4、应用服务器:比如Tomcat、Jboss、weblogic、websphere等;
5、开发语言:比如PHP、Java、Ruby、Python、C#等;
6、操作系统信息:比如linux、win2k8、win7、kali、centos等;
7、CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;
8、WAF信息:是否使用waf,如Topsec、Jiasule、Yundun等;
9、IP及域名信息:IP和域名注册信息、服务商信息等; 
10、端口信息:有些软件或平台还会探测服务器开放的常见端口。

常见指纹识别方式

特定文件的MD5

一些网站的特定图片文件、js文件、CSS等静态文件,如favicon.ico、css、logo.ico、js等文件一般不会修改,通过爬虫对这些文件进行抓取并比对md5值,如果和规则库中的Md5一致则说明是同一CMS。这种方式速度比较快,误报率相对低一些,但也不排除有些二次开发的CMS会修改这些文件。获得通用文件的哈希值,然后进行对比。
favicon.ico 就是在浏览器的最左侧显示一个网站的 LOGO 小图标,这个图标是放在根目录下的,一般都是以 favicon.ico 命名

eg:Discuz官网favicon.ico,左侧显示的是网站LOGO

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

自己搭建Discuz论坛favicon.ico,如下图所示:

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

二者favicon.ico的MD5值对比一致,通过该hash值可以判断出为discuz论坛

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

正常页面或错误网页中包含的关键字

先访问首页或特定页面如robots.txt等,通过正则的方式去匹配某些关键字,如Powered by Discuz、dedecms等。或者可以构造错误页面,根据报错信息来判断使用的CMS或者中间件信息,比较常见的如tomcat的报错页面。
Discuz页面返回banner信息:Powered by Discuz

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

请求头信息的关键字匹配

根据网站response返回头信息进行关键字匹配,whatweb和Wappalyzer就是通过banner信息来快速识别指纹,之前fofa的web指纹库很多都是使用的这种方法,效率非常高,基本请求一次就可以,但搜集这些规则可能会耗时很长。而且这些banner信息有些很容易被改掉。根据response header一般有以下几种识别方式:
1、查看http响应报头的X-Powered-By字段来识别,X-Powered-By:PHP/7.1.8

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

X-Powered-By:anyu.qianxin.com

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

2、根据Cookies来进行判断,比如一些waf会在返回头中包含一些信息,如360wzws、Safedog、yunsuo等;

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

3、根据header中的Server信息来判断,如DVRDVS-Webs、yunjiasu-nginx、Mod_Security、nginx-wallarm等;

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

URL中包含的关键字

通过规则库去探测是否有相应目录,或者根据爬虫结果对链接url进行分析,或者对robots.txt文件中目录进行检测等等方式,通过url地址来判别是否使用了某CMS,比如wordpress默认存在wp-includes和wp-admin目录,织梦默认管理后台为dede目录,solr平台可能使用/solr目录,weblogic可能使用wls-wsat目录等。

eg:discuz默认后台页面,admin.php
http://10.211.55.8/Discuz_X3.4_SC_UTF8_20191201/upload/admin.php

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

robots.txt 显示banner信息:Discuz! X3

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

开发语言的识别

web开发语言一般常见的有PHP、jsp、aspx、asp等,常见的识别方式有:

1、通过爬虫获取动态链接进行直接判断是比较简便的方法。asp判别规则如下<a[^>]*?href=(‘|”)[^http][^>]*?.asp(?|#|1),其他语言可替换相应asp即可。
2、通过X-Powered-By进行识别,比较常见的有X-Powered-By: ASP.NET或者X-Powered-By: PHP/7.1.8
3、通过Set-Cookie进行识别,这种方法比较常见也很快捷,比如Set-Cookie中包含PHPSSIONID说明是php、包含JSESSIONID说明是java、包含ASP.NET_SessionId说明是aspx等。

常见指纹识别工具

在线网址

Bugscaner: http://whatweb.bugscaner.com/look/
云悉指纹: http://www.yunsee.cn/figer.html
whatweb: http://whatweb.net/
waf识别:https://github.com/EnableSecurity/wafw00f
CDN识别:https://raw.githubusercontent.com/3xp10it/mytools/master/xcdn.py

Bugscaner在线cms识别工具

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

本地识别工具

御剑Web指纹识别程序

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

Wappalyzer

Wappalyzer(集成在浏览器或可单独)

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

Nmap

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

telnet

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS

乌云漏洞库查询CMS

识别出banner信息,可以从网站CMS漏洞库查询该CMS漏洞历史版本

服务指纹识别
指纹识别是什么?
指纹识别的目的
常见指纹检测的对象
常见指纹识别方式
常见指纹识别工具
乌云漏洞库查询CMS