广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    wappalyzer怎么使用

    来源:网络收集  点击:  时间:2024-06-19
    【导读】:
    最近许多朋友都在问我,如何使用Wappalyzer API进行Web应用指纹识别,今天小编就和大家聊一聊这个问题。方法/步骤1/6分步阅读

    Web应用指纹识别,是web渗透信息收集最关键的一步,这方面开源的工具也非常多,像BlindElephant,whatweb以及在非安全圈都很火的wappalyzer。本文主要描述如何使用wappalyzer的perl与php接口进行指纹识别。

    Wappalyzer的功能是识别单个uri的指纹,其原理就是给指定URI发送HTTP请求,获取响应头与响应体并按指纹规则进行匹配。这也是web应用指纹识别最基础的部分,除此之外,还有指纹置信度计算(如何去处伪造指纹,多种指纹特征如何综合判断,隐藏指纹信息如何提取),整个站点的指纹识别还涉及到有效爬虫抓取,分布式计算等问题,这些都不在本文内容中。

    2/6

    Wappalyzer是一款浏览器插件,通过Wappalyzer可以识别出网站采用了那种web技术。它能够检测出CMS和电子商务系统、留言板、javascript框架,主机面板,分析统计工具和其它的一些web系统。The company behind Wappalyzer还能够收集web程序的一些信息用于统计分析,揭示出各种web系统的使用率即增长情况。实际Wappalyzer就是一个指纹识别工具。

    3/6

    perl版本

    原理:

    给指定uri发送HTTP请求,通过分析HTTP相应的以下部分来判断指纹

    (1) headers特征

    响应头key:value对,多个key:value用逗号隔开,例如

    headers:{X-AMP-Version:(+)\\;version:\\1,Set-Cookie:^AMP=},

    (2) html特征

    响应体内容,多个规则用逗号隔开,例如

    html:*parbase,_jcr_content,/etc/designs/,/etc/clientlibs/]

    特别注意:html全文匹配的规则一定要谨慎编写

    (3)url特征

    url内容,例如

    url:/cgi-bin/UCEditor\\?(?:.*)?merchantid=.

    (4) meta特征

    响应html 页面中诸如metaname=versioncontent=neblog-1.0/中的名字name:内容content对,多个规则用逗号隔开,例如

    meta:{generator:webEdition,DC.title:webEdition}

    (5) script特征

    响应html页面中诸如scripttype=text/javascriptsrc=http://b1.bst.126.net/newpage/r/j/ec.js?v=1413881655525/script src中中url内容,多个规则用逗号隔开,例如

    script:*\\d)*\\.js\\;version:\\1,/(+(\\-?rc*)*)/angular(\\.min)?\\.js\\;version:\\1,angular.*\\.js]

    4/6

    局限性:

    不支持规则文件中APP版本号与置信度的获取

    对非utf8的中文编码可能会存在问题

    优点:

    较之PHP版本,使用qr正则预编译处理,可以提前发现正则的问题,这是我选择该语言版本的主要原因。

    (接下来的php版本就能让你知道正则不预编译处理有多坑了!)

    脚本的功能:

    (1)指纹识别结果按JSON格式返回,以便后续指纹信息入库等处理

    (2)支持批量uri查询

    (3)支持指定自定义JSON格式的指纹规则文件

    (默认的指纹文件放置在/usr/lib/perl5/WWW/apps.json ,具体的路径会因cpan模块的安装路径有区别

    可以使用perl -V 察看@INC变量来确定路径,或者更暴力的find吧)

    安装:

    cpan-iWWW::Wappalyzerclonehttps://github.com/tanjiti/FingerPrint.git

    运行:

    (1)获取单个uri的指纹

    perlFingerPrint.plwww.xxx.comuri必选tanjiti.json

    返回结果

    { www.xxx.com: { blogs: , web-servers: , cdn: , cms: , font-scripts: , javascript-frameworks: , javascript-graphics: }}

    (2)从文件读取url列表进行批量指纹识别,并将结果输出到文件中

    perlFingerPrint.plurl.txturi文件路径必选tanjiti.json

    结果输出到 url.txt__fingerprint 文件里

    指纹规则文件编写示例:

    moretanjiti.json

    apps: { Discuz!:{ website: www.discuz.net/forum.php, cats: , meta: { generator: Discuz}, headers: {Set-Cookie: _lastact.*_sid|_sid.*_lastact|_sid.*smile|smile.*_sid}, url: /uc_server|uc_client, html: Powered by (?:Discuz!|a href=\http://www\\.discuz\\.net/\|UCenter), implies: php }, PHP: { website: php.net, cats: , headers: { Server: php/?(+)?\\;confidence:40\\;version:\\1, X-Powered-By: php/?(+)?\\;confidence:40\\;version:\\1, Set-Cookie: PHPSESSID }, url: \\.php(?:$|\\?) }}

    5/6

    php版本

    原理

    同perl版本,区别有两点:

    1. HTTP请求部分:较之perl使用LWP发送HTTP请求,php使用curl发送HTTP请求

    2. 规则匹配部分:指纹规则的匹配部分使用javascript语法,然后通过php的v8js模块来解析。(为什么要这样做呢?当返回响应体内容很多,指纹正则写的很烂的时候,会卡死在规则匹配这一过程中,现在的规则下sina,163等大站基本卡死!)

    运行

    PHP版的接口已经能直接使用了,只是需要替换规则文件,囧

    第一步:安装php、curl及v8js

    apt-getinstallphp5-devphp-pearbuild-essentiallibv8-devphp5-curlpeclinstallchannel://pecl.php.net/v8js-0.1.3echoextension=v8js.so/etc/php5/cli/php.ini

    验证是否安装成功

    php-m|grepv8jsv8js-----------OK

    第二步:下载Wappalyzer脚本

    gitclonehttps://github.com/ElbertF/Wappalyzer.gitcp-RWappalyzer/drivers/php/*.cpWappalyzer/share/js/wappalyzer.jsjs/cpWappalyzer/share/apps.json.(指纹规则文件)该规则文件的正则编写的有问题,所以我使用的以前版本的规则文件cp/usr/lib/perl5/WWW/apps.json.

    php版指纹识别程序结构如下:

    index.php主程序Wappalyzer.phpWappalyzerException.phpjs/driver.jsjs/wappalyzer.jsapps.json指纹规则文件

    第三步:验证是否成功

    phpindex.phpwww.tanjiti.com

    输出格式为

    应用名,版本号,置信度,app类型 (比perl版本多了对版本号,置信度的获取)

    CloudFlare, , 100%, cdnJavascript Infovis Toolkit, , 100%, javascript-graphicsjQuery, , 100%, javascript-frameworksNginx, , 100%, web-serversPHP, 5.5.9, 100%, programming-languagesUbuntu, , 100%, operating-systemsWordPress, 4.0, 100%, cms, blogs

    接下来的优化输出为json格式与批量处理uri同perl版本。

    6/6

    最后寄言,一定一定要写好正则,NFA引擎正则优化TIPS、Perl正则技巧及正则性能评测方法

    软件
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_909370.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 22:03:27  耗时:0.028
    0.028s