如何提交指纹赚外快?
作者:星期一, 十二月 2, 20190

一、  前言

web指纹是web服务组件在开发时留下的对其类型及版本进行标识的特殊信息,包括web服务器指纹、web运用指纹以及前端框架指纹等。

在web安全测试过程中,收集web指纹信息也是一个比较重要的步骤;在安全运营过程中,通过指纹识别资产的web信息,这样能更加了解整个资产存在哪些方面的威胁,然后对症检测修补。网络上开源的web指纹识别程序很多,如Wappalyzer,whatweb, wpscan, joomscan等等。在线指纹平台有云悉、数字观星指纹平台等。一起来看如何编写以及编译指纹并提交到平台上。

二、  初见

实践是认识事物最快的途径,这里先使用常见的指纹识别工具做简单的指纹识别示范。

1、 Whatweb

Whatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等。

在kali下sudo apt install whatweb :

对网站进行指纹识别:

2、 Wappalyzer

Wappalyzer是基于正则表达式来识别web应用,它的功能是识别单个url的指纹,其原理就是给指定URI发送HTTP请求,获取响应头与响应体并按指纹规则进行匹配。它也是一款浏览器插件,能识别出网站采用了那种web技术,能够检测出CMS和电子商务系统、留言板、javascript框架,主机面板,分析统计工具和其它的一些web系统。这里主要介绍基于node.js的wappalyer的安装与使用。

(1)node.js环境的安装,官网下载地址:

https://nodejs.org/en/

(2)通过Node.js安装wappalyzer

记住这个路径

C:\Users\xx\AppData\Roaming\npm\node_modules\wappalyzer,之后讲解调试指纹有用

(3)使用wappalyzer指纹识别

三、 探究

这里主要探讨如何编写基于wappalyzer的指纹

1、 指纹识别的几种方式

  • 网页中发现关键字
  • 特定文件的MD5(主要是静态文件、不一定要是MD5)
  • 指定URL的关键字
  • 指定URL的TAG模式

2、 指纹识别分类

3、指纹规则

4、 指纹识别例子讲解

描述:struts组件,分类18(web框架),

匹配html中是否存在action,do后缀,定义可信值50,

匹配URL中是否有do和action后缀,定义可信值40,

匹配html中是否存在“StrutsProblemReport”字符串,

默认不定义可信值则为100。

备注:总体可信值如果超过100,也只会返回100。

 “Struts”: {
“cats”: [ “18”],
“html”:”(href|action|src).*?=.*?(action|do)\\;confidence:50″,
“url”: “/.*\\.do$|/.*\\.action$\\;confidence:40”,
“html”: “Struts Problem Report”,
“website”: “http://struts.apache.org/”,
“_fingerprint_note”:”Apache Struts是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。”,
“_fingerprint_test_url”:”https://www.shuziguanxing.com/”
}
 

5、 简单分析wappalyzer的执行过程

Wappalyze执行文件在C:\Users\xx\AppData\Roaming\npm\下

Wappalyzer的包目录在C:\Users\xx\AppData\Roaming\npm\node_modules\wappalyzer

这里我们重点看apps.json文件,apps.json文件是个什么东西呢?apps.json记录的是整个的指纹规则,之后我们自己编写的指纹就是要放进这里调试。

看下里面是一个怎么样的构造:

{   “$schema”:
“../schema.json”,   
“apps”:{                      
 “1C-Bitrix”:{         
  “cats”:[  1  ],       
   “headers”:{
      “Set-Cookie”:”BITRIX_”,            
      “X-Powered-CMS”:”Bitrix Site Manager”  
   },         
    “html”:”(?:<link[^>]+components/bitrix(?:src|href)=\”/bitrix/(?:js|templates))”,    
    “icon”:”1C-Bitrix.png”,  
    “implies”:”PHP”,   
    “script”:”1c-bitrix”,          
    “website”:”http://www.1c-bitrix.ru”   },     },   
    “categories”:{     “1”:
      {  “name”:”CMS”,     “priority”:1       },                       ……    
}}

Json文件里面有两部分apps与categories,我们可以发现apps里面的信息跟上面指纹例子特别像,其实我们之后写的指纹就是放在这里面进行识别网站,categories是指纹的类型,这项可以不用管,只看apps。

6、 调试编写好的指纹

Wappalyzer在执行过程中会调用apps.json文件内容进行指纹匹配。所以我们编写好的指纹放进里面进行调试。

如果你希望只显示你要调试的指纹的话,你可以把apps.json文件备份为apps.json.bak,然后把apps.json中的apps部分里面的内容删除,只放入自己编写的指纹。

以织梦cms为例子,执行全部的指纹:

如果仅仅是测试cms,不想看到那么多其他信息,你可以删除其他指纹,留下我们写好要调试的指纹,这样看起来就很清晰了。

四、 实战

1、   查找目标

上sofa:https://fofa.so查找“禅道”

 

2、  判断观星指纹平台是否存在该指纹

复制sofa查找到的目标到观星指纹平台,没有该web应用指纹信息,那我们开始编写这个web应用的指纹。

 

3、  观察该web应用

(1)cookie:zentaosid

(2)html

 

(3)script

 

4、 依据以上特征编写指纹

下面的是依据上面分析来写的,圈出来的信任值只是方便编译时,查看命中哪条记录,等最后调试完成后再按实际情况给信任值。

 

5、 提交到指纹平台

https://fp.shuziguanxing.com/#/batchAdd

关键词:

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章