Sitediff:网站指纹识别工具,精准探测开源框架版本

Sitediff是一款通过本地文件与目标网站文件对比进行版本指纹识别的工具,支持基础认证、摘要认证及代理设置,帮助安全测试人员准确识别网站框架版本,避免误操作导致服务崩溃。

Sitediff

示例场景

您知道客户正在运行App框架,但不清楚是1.0还是1.1版本。版本1.0存在一个可获取root shell的高危漏洞,但如果在版本1.1上运行攻击代码,会导致服务器崩溃。您需要进行一些指纹识别!

首先,下载两个版本的软件包并解压:

1
# 下载并解压版本1.0和1.1

现在,只需调用Sitediff,传入要测试的本地路径(--path app_1.0 然后 app_1.1)和URL(--url http://sitediff.dev):

1
2
sitediff --path app_1.0 --url http://sitediff.dev
sitediff --path app_1.1 --url http://sitediff.dev

技术说明

显然,Sitediff对经过服务器解析后才发送的文件效果不佳,因此某些php文件会出现不匹配的情况。但由于大多数框架至少包含少量静态文件,如JavaScript库和样式表,这些足够让Sitediff发挥作用,使您能够做出比肉眼观察更准确的猜测。如果存在大量不匹配,使用--match-only标志可能有用,仅显示匹配的文件:

1
sitediff --path app_1.0 --url http://sitediff.dev --match-only

功能特性

我从CeWL借鉴了不少代码,因此Sitediff支持基本认证和摘要认证,所有请求都可以通过代理发送,以便记录操作过程。

可以使用--header设置额外的头部,格式为header:value。要设置多个头部,只需重复该参数。要了解更多信息,请运行--help

1
sitediff --help

获取工具

那么,如何获取这个令人惊叹、节省时间的指纹识别神奇工具呢?只需前往Github查看最新版本,或查看发布版本以获取(希望)更稳定的版本。

与我的所有工具一样,如果您有任何问题或疑问,请告诉我,我会尽力提供帮助。

待办事项

总有一些事情需要做,以下是一些计划:

  • 允许指定多个本地路径,然后比较每个路径,而无需多次运行。
  • 一旦能够处理多个本地路径,为脚本添加一些智能,以便给出分数显示最可能的匹配。
  • 添加更多错误检查 - 目前检查很少,因此如果出现问题,请报告。
  • 您的想法在这里 - 如果您有想法,请告诉我。如果我喜欢,我会尝试将其添加到下一个版本中。

支持网站

本网站上的任何项目我都没有获得报酬,因此如果您想支持我的工作,可以通过使用下面的联盟链接来实现,我会获得账户积分或现金返还。通常只有几分钱,但它们会积少成多。

给我买一杯冰沙


所有内容均由Robin Wood创建,除非另有说明。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计