• 【web-解析目标】(1.2.2)解析应用程序:确定服务器端技术


    目录

    确定服务器端技术

     1.1、提取版本信息

    1.2、HTTP指纹识别

    1.3、文件扩展名

    1.4、目录名称

    1.5、会话令牌

    1.6、第三方代码组件


    确定服务器端技术

    (通过各种线索和指标确定服务器所采用的技术)

     1.1、提取版本信息

    许多Web服务器公开与Web服务器软件本身和所安装组件有关的详细版本信息。

    eg:HTTP Server消息头揭示大量与安装软件有关的信息

    1.2、HTTP指纹识别

    1、理论上,服务器返回的任何信息都可加以定制或进行有意伪造。

    2、大多数应用程序服务器软件采取了防御措施,允许管理员配置在Server HTTP消息头中返回的旗标。

    3、蓄意破坏的攻击者仍然可以利用Web服务器的其他行为确定其所使用的软件,或者至少缩小搜索范围。HTTP规范中包含许多可选或由执行者自行决定是否使用的内容。另外,许多Web服务器还以各种不同的方式违背或扩展该规范。因此, 除通过Server消息头判断外, 还可以使用其他方法来识别Web服务器(如工具Httprecon等)

    1.3、文件扩展名

    1、URL中使用的文件扩展名往往能够揭示应用程序执行相关功能所使用的平台或编程语言

    asp——Microsoft Active Server Pages
    aspx——Microsoft ASP.NET
    jsp——Java Server Pages
    cfm——Cold Fusion
    php——PHP语言
    d2w——WebSphere
    pl——Pcrl语言
    py——Python语言
    dll——编译型本地代码(C或C++),
    nsf或ntf——Lotus Domino


    2、许多Web服务器将特殊的文件扩展名映射到特定的服务器端组件中。不同的组件处理错误的方式(包括请求不存在的内容)也各不相同


    3、若公布的内容中不使用特定的文件扩展名, 能够确定服务器是否执行支持该扩展名的技术

    eg:应用程序上安装有ASP.NET, 请求一个不存在的aspx文件将返回一个由ASP.NET框架生成的错误页面。但是, 请求一个扩展名不同的不存在的文件将返回一个由Web服务器生成的常规错误消息。
    自动化内容查找,请求大量常见的文件扩展名,并迅速确定服务器是否执行了相关技术。


    4、分析请求文件扩展名时生成的各种错误消息可以确定该文件扩展名映射是否存在。在某些情况下, 发现一个特殊的映射可能表示存在一个Web服务器漏洞。

    eg:

    IIS中的printer和.ida/.idq处理程序易于遭受缓冲区溢出攻击。

    /0,, 1-1101,11.html
    URL末尾用逗号分隔的数字通常由Vignette内容管理平台生成

    1.4、目录名称

    子目录名称常常表示应用程序使用了相关技术

    servlet——Java servlet

    pls——Oracle Application ServerPL/SQL网关

    cfdocs或cfide——Cold Fusion

    SilverStream——silverStream Web服务器

    WebObjects或{function).woa——Apple WebObjects

    rails——Ruby on Rails

    1.5、会话令牌

    许多Web服务器和Web应用程序平台默认生成的会话令牌名称也揭示其所使用技术的信息

    JSESSIONID——java平台

    ASPSESSIONID——Microsoft llS服务器

    ASP.NET_sessionId——Microsoft ASP.NET

    CFID/CFTOKEN——Cold Fusion

    PHPSESSID——PHP

    1.6、第三方代码组件

    许多Web应用程序整合第三方代码组件执行常见的功能

    eg:购物车、登录机制和公告牌等


    1、这些组件可能为开源代码,或者从外部软件开发者购买而来,那么相同的组件会出现在因特网上的其他Web应用程序中,可以根据这些组件了解应用程序的功能。其他应用程序会利用相同组件的不同特性,确保攻击者能够确定目标应用程序的其他隐藏的行为和功能。

    2、软件中可能包含其他地方已经揭示的某些已知漏洞,攻击者也可以下载并安装该组件, 对它的源代码进行分析或以受控的方式探查其中存在的缺陷

  • 相关阅读:
    进入“终端”又名“命令提示符”、“黑窗口”的方式
    Qt5开发从入门到精通——第七篇四节( 图形视图—— 图元创建 GraphicsItem V1.1)
    c++类型转换static_cast dynamic_cast const_cast reinterpret_cast
    CF1703G Good Key, Bad Key
    实验室管理系统
    深度解读《深度探索C++对象模型》之C++虚函数实现分析(一)
    3D人脸模型建模工具,用于人脸建模,3DMM系数匹配
    最佳网络地图服务对比分析:Google Maps 与 OpenStreetMap
    excel vba 制作 kml 文档时,如何写入有引号的字符串
    【踩坑】PyTorch中指定GPU不生效和GPU编号不一致问题
  • 原文地址:https://blog.csdn.net/qq_53079406/article/details/126296791