架构信息收集

news/2024/12/16 22:33:58/文章来源:https://www.cnblogs.com/sjjjjer/p/18611252

附:完整笔记目录~
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_magic , https://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.hqwc.cn/news/854011.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

x86指令集 字节大小

x86指令集 字节大小 https://bbs.kanxue.com/thread-190127.htm 最近对x86_32架构下的许多程序进行了指令长度统计,结果表明所有程序所涉及的指令长度范围均为:1~11字节。而根据INTEL 开发者手册上介绍的指令的最大长度限制为15字节。但是,在什么情况或者架构上才会有12~15字…

实际项目中不一样的《桥接模式》

图片缩略图功能 需要对图片生产缩略图,压缩并保存到不同的介质中。输入端可能是本地图片,也可能是网络图片。保存的位置可能是本地,也有可能是第三方的minio、阿里云oss、七牛云oss。并且这些途径可能随时扩展。为了设计的灵活性,这里就要把输入可输出抽象出来,应用层通过…

一款渗透测试信息收集集成工具--mitan密探

本工具仅供安全测试人员运用于授权测试, 禁止用于未授权测试, 违者责任自负。作者及本公众号相关负责人不对您使用该工具所产生的任何后果负任何法律责任,在扫描模块使用多线程,在测试过程中根据目标的实际情况进行调整,切勿进行大线程低延时的大规模快速扫描,以免对目标服务…

最大网络流基本概念

1. 基本概念 1.1 流网络,不考虑反向边如果存在反向边也没事,不如有u->v和v->u两条边,那么就可以新加入一个点 p,u->v,v->p,p->u,转化为这三条边 1.2 可行流,不考虑反向边 1.2.1 两个条件:容量限制、流量守恒 容量限制:每条边流的不能超过这条边的权值 流量守…

sqli-labs

sqli-labs Less-1 基于错误的GET单引号字符型注入 index.php分析error_reporting(0); 不反馈错误 isset($_GET[id]) 检查($ _GET[id])参数是否设置 LIMIT 0,1 从第一条开始记录,只取一条记录1.推测闭合方式?id=1\输入\ ,后面是 ,推测是单引号闭合 输入 ?id=1 报错 输入 ?…

一文读懂:AI创业和投融资领域常见专有名词缩写详解

=== 预计悦读时间:3分钟 | 📚字数:约1000字——知识满满,不虚此行!🤔为什么你需要这篇神器? 就像由算法推荐给各位好奇的同学一样,我也被这些术语所困扰,想象一下,你正沉浸在一场关于AI的精彩演讲或者播客中,突然,一个神秘的英文缩写从嘉宾口中飞出,像是外星语言般让你瞬…

Simplex Method (单纯形方法)

学习目标:在本节中,我们将学习使用\(\textbf{单纯形法}\)解决线性规划最大化问题:(In this section, we will learn to solve linear programming maximization problems using the Simplex Method:)识别并建立标准的最大化形式的线性规划 (Identify and set up a linear pr…

《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解

《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解@目录二、高级篇(大厂进阶)4.Docker网络4.1Docker网络是什么4.2常用基本命令4.3能干嘛4.4网络模式4.4.1总体介绍4.4.2容器实例内默认网络IP生产规则4.4.3案例说明…

实验6 C++

任务四:Vector.hpp #pragma once #include <iostream> #include <stdexcept>using namespace std;template <typename T> class Vector { public:Vector(int n, int p = 0);Vector(const Vector<T> &v);~Vector();int get_size() const;T& a…

Docker安装Redis和Elasticsearch

本章将和大家分享在Docker中如何安装Redis和Elasticsearch。本章将和大家分享在Docker中如何安装Redis和Elasticsearch。废话不多说,下面我们直接进入主题。 一、Docker安装Redis 1、拉取最新版的 redis 镜像docker pull redis2、查看本地镜像docker images3、从官网获取 redi…

Redis应用—4.在库存里的应用

大纲 1.库存模块设计 2.库存缓存分片和渐进式同步方案 3.基于缓存分片的下单库存扣减方案 4.商品库存设置流程与异步落库的实现 6.库存入库时"缓存分片写入 + 渐进式写入 + 写入失败进行MQ补偿"的实现 7.库存扣减时"基于库存分片依次扣减 + 合并扣减 + 扣不了返…

Learn learn Cython

[SCTF ez_cython]简单分析需要调用一个cy库,找到文件"cy.cp38-win_amd64.pyd"pyd文件生成:编写pyx文件 \#test.pyx def say_hello_world(name): print("Hello world" % name)编写setup \#setup.py from distutils.core import setup from Cython.Build imp…