架构信息收集(小迪网络安全笔记~

ops/2024/12/17 14:01:56/

附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!

2.2 架构信息收集

  1. 引子:一个Web应用的构成,由诸多组件&服务相结合,而域名仅是处于Web架构中最表层的一部分。本篇则由表及里,依次对整个Web应用架构,所需收集的信息类型、收集方式等进行介绍。

  2. 概述
    每一个Web服务,其都是依靠各个组件&服务的相互作用所实现。而作为测试者,在信息收集中我们需要做的就是在不违规的情况下,尽可能收集这些组件&服务的敏感or重要信息,为进一步测试做好铺垫。

  3. OS信息
    常见类型:Linux、Windows、Mac
    如何识别:Mac特征与Linux相似,具体怎样识别OS,详见上一章(服务器信息收集)。

  4. 中间件信息
    常见类型(这里小迪把其分为两类,Web服务器&应用服务器。至于这两类有什么区别,据说Web服务器主要处理静态内容和Http请求,应用服务器则是处理动态业务逻辑。至于再详细一些,可能只有从事开发的师傅才清楚了。)

    1. Web服务器:Apache、Nginx、IIS、Lighttpd等。
    2. 应用服务器:Tomcat、Jboss、Weblogic、Websphere等。
  5. 开发语言信息
    常见类型:Java、Javascript、PHP、Go、Python等

  6. 框架&组件信息
    常见类型

    1. 前端框架:Vue、jQuery、Bootstrap等。
    2. 后端框架:SpringMVC、Thinkphp、Yii、Tornado等。
    3. 开发组件:FastJson、Shiro、Log4j、XStream、Solr等。
  7. CMS
    含义:内容管理系统(CMS),CMS帮助公司管理数字内容,可使管理者即便不具备编程技术,也能实现网站内容的创建、管理和修改。
    常见类型:Discuz、WordPress、Pageadmin、禅知等。
    如何识别:针对中间件、开发语言、框架&组件、CMS识别有一些通用识别方法,如浏览器插件识别、网络空间测绘、指纹识别等。
    这里分别介绍一下浏览器插件&指纹识别

    1. Wappalyzer浏览器插件自动识别,以某鱼买的学生管理系统为例。
      image-20241216180955577
      可以看到,对架构信息收集有一定作用,但不多。。。用小迪的话来说就是食之无味,弃之可惜。

    2. 利用在线指纹识别平台去获取架构信息。如云悉:https://www.yunsee.cn/,观星:https://fp.shuziguanxing.com/#/,潮汐:http://finger.tidesec.com/等。这里推荐云悉,但前提得有账号。
      我们以观星和xiaodi8为例
      image-20241216181809857

    3. 利用本地项目进行指纹识别,这里推荐:https://github.com/lemonlove7/EHole_magichttps://github.com/HackAllSec/hfinger,同样以xiaodi8为例
      image-20241216183556778

      这两款项目均支持指纹&CMS识别,其中EHole_magic支持网络空间联动。要没云悉账号,也可以试试这些本地项目。

  8. 数据库信息
    常见类型:Mysql、SqlServer、Oracle、Redis、MongoDB等
    如何识别

    1. 由服务器开放端口识别,如Mysql:3306、SqlServer:1433、Oracle:1521、Redis:6379、MongoDB:27017等。
    2. 由常见组件组合判断,如PHP+Mysql、C#/.net+SqlServer、Java+Oracle等。
    3. 由应用场景判断,不同应用场景往往使用不同类型的数据库。由于小白→我没咋接触过(😭),所以这里也举不出啥例子…
  9. CDN
    常见类型:Cloudflare、帝联、阿里云、七牛云等。
    如何识别:超级ping,若多地响应ip不同,则证明其Web应用配置了CDN。站长之家的在线平台:https://ping.chinaz.com/

  10. WAF
    常见类型:雷池、宝塔、创宇盾、玄武盾、ModSecurity等。
    如何识别:1. 人工对WAF生效时的返回页面判断。2. 项目识别,https://github.com/stamparm/identYwaf& https://github.com/EnableSecurity/wafw00f,这两款项目均是向目标发送无恶意payload,触发WAF,通过目标响应来自动判断WAF类型。这里就不做展示了,感兴趣可以自己试试。

  11. 蜜罐
    常见类型:Hfish、Teapot、T-pot、Glastopf等
    如何识别

    1. 人工识别:1. 针对多服务蜜罐,其开放端口多且规律。2. 部分开源蜜罐,可根据其特点判断。
    2. 项目识别:1. 浏览器插件:https://github.com/graynjo/Heimdallr。2. https://github.com/360quake/quake_rs该项目实际为调用quake空间测绘 api,判断目标ip是否为蜜罐。同样这里不做展示。

    注:以上推荐项目,都无法确保能100%识别WAF&蜜罐,识别不到也很正常,项目的提供仅是为了扩展信息收集时的思路。


http://www.ppmy.cn/ops/142658.html

相关文章

深入解析 Java “NoClassDefFoundError” 异常及解决方法

在 Java 开发过程中,NoClassDefFoundError 是一个令人头疼的运行时错误。该错误通常表示在编译时可用的类文件在运行时却无法找到。本文将从根源分析这一问题,探讨常见场景并提供实用的解决方法。 问题分析 java.lang.NoClassDefFoundError 是由 JVM 抛…

PostgreSQL中事件触发器Event Trigger

在PostgreSQL中,事件触发器(Event Trigger)是一种特殊的触发器类型,它允许你在特定的数据库系统事件发生时执行特定的操作。与普通的触发器不同,事件触发器并不与特定的表或视图相关联,而是与数据库级别的全…

AI技术架构:从基础设施到应用

人工智能(AI)的发展,正以前所未有的速度重塑我们的世界。了解AI技术架构,不仅能帮助我们看懂 AI 的底层逻辑,还能掌握其对各行业变革的潜力与方向。 一、基础设施层:AI 技术的坚实地基 基础设施层是 AI 技…

metinfo的csrf漏洞复现

http://localhost/metinfo/install/index.php 管理员admin登录 抓修改信息包 进入点击受害链接 localhost/333.html 管理员被修改密码原来root错误被强制退出 输入密码123456登录正常

LeetCode-Golang之【5. 最长回文子串】

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 本算法采用 动态规划去解析 func longes…

RK3588开发笔记-Buildroot编译Qt5WebEngine-5.15.10

目录 前言 一、Qt5WebEngine简介 二、Qt5WebEngine编译 总结 前言 Rockchip RK3588是一款强大的多核处理器,广泛应用于边缘计算、人工智能、嵌入式系统等领域。为了在RK3588上运行自定义的Linux系统,并使用Qt5WebEngine进行Web内容渲染,Buildroot是一个非常合适的工具。本…

简单的Java小项目

学生选课系统 在控制台输入输出信息&#xff1a; 在eclipse上面的超级简单文件结构&#xff1a; Main.java package experiment_4;import java.util.*; import java.io.*;public class Main {public static List<Course> courseList new ArrayList<>();publi…

十七、临时容器kubectl debug

临时容器 一、从镜像角度看容器安全 传统架构,黑客进来,提权后,会直接操作应用,危险。 K8S,黑客从pod入侵,通过pod渗透到K8S集群,被入侵会被当做矿机,被植入sidecar 所以生产中尽量不用root账户,并且pod没有bash和sh。 二、临时容器 生产pod不建议开启bash和sh,…