架构信息收集(小迪网络安全笔记~
附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!
2.2 架构信息收集
-
引子:一个Web应用的构成,由诸多组件&服务相结合,而域名仅是处于Web架构中最表层的一部分。本篇则由表及里,依次对整个Web应用架构,所需收集的信息类型、收集方式等进行介绍。
-
概述
每一个Web服务,其都是依靠各个组件&服务的相互作用所实现。而作为测试者,在信息收集中我们需要做的就是在不违规的情况下,尽可能收集这些组件&服务的敏感or重要信息,为进一步测试做好铺垫。 -
OS信息
常见类型:Linux、Windows、Mac
如何识别:Mac特征与Linux相似,具体怎样识别OS,详见上一章(服务器信息收集)。 -
中间件信息
常见类型(这里小迪把其分为两类,Web服务器&应用服务器。至于这两类有什么区别,据说Web服务器主要处理静态内容和Http请求,应用服务器则是处理动态业务逻辑。至于再详细一些,可能只有从事开发的师傅才清楚了。)- Web服务器:Apache、Nginx、IIS、Lighttpd等。
- 应用服务器:Tomcat、Jboss、Weblogic、Websphere等。
-
开发语言信息
常见类型:Java、Javascript、PHP、Go、Python等 -
框架&组件信息
常见类型- 前端框架:Vue、jQuery、Bootstrap等。
- 后端框架:SpringMVC、Thinkphp、Yii、Tornado等。
- 开发组件:FastJson、Shiro、Log4j、XStream、Solr等。
-
CMS
含义:内容管理系统(CMS),CMS帮助公司管理数字内容,可使管理者即便不具备编程技术,也能实现网站内容的创建、管理和修改。
常见类型:Discuz、WordPress、Pageadmin、禅知等。
如何识别:针对中间件、开发语言、框架&组件、CMS识别有一些通用识别方法,如浏览器插件识别、网络空间测绘、指纹识别等。
这里分别介绍一下浏览器插件&指纹识别-
Wappalyzer浏览器插件自动识别,以某鱼买的学生管理系统为例。
可以看到,对架构信息收集有一定作用,但不多。。。用小迪的话来说就是食之无味,弃之可惜。 -
利用在线指纹识别平台去获取架构信息。如云悉:
https://www.yunsee.cn/
,观星:https://fp.shuziguanxing.com/#/
,潮汐:http://finger.tidesec.com/
等。这里推荐云悉,但前提得有账号。
我们以观星和xiaodi8为例
-
利用本地项目进行指纹识别,这里推荐:
https://github.com/lemonlove7/EHole_magic
,https://github.com/HackAllSec/hfinger
,同样以xiaodi8为例
这两款项目均支持指纹&CMS识别,其中EHole_magic支持网络空间联动。要没云悉账号,也可以试试这些本地项目。
-
-
数据库信息
常见类型:Mysql、SqlServer、Oracle、Redis、MongoDB等
如何识别- 由服务器开放端口识别,如Mysql:3306、SqlServer:1433、Oracle:1521、Redis:6379、MongoDB:27017等。
- 由常见组件组合判断,如PHP+Mysql、C#/.net+SqlServer、Java+Oracle等。
- 由应用场景判断,不同应用场景往往使用不同类型的数据库。由于小白→我没咋接触过(😭),所以这里也举不出啥例子…
-
CDN
常见类型:Cloudflare、帝联、阿里云、七牛云等。
如何识别:超级ping,若多地响应ip不同,则证明其Web应用配置了CDN。站长之家的在线平台:https://ping.chinaz.com/ -
WAF
常见类型:雷池、宝塔、创宇盾、玄武盾、ModSecurity等。
如何识别:1. 人工对WAF生效时的返回页面判断。2. 项目识别,https://github.com/stamparm/identYwaf
&https://github.com/EnableSecurity/wafw00f
,这两款项目均是向目标发送无恶意payload,触发WAF,通过目标响应来自动判断WAF类型。这里就不做展示了,感兴趣可以自己试试。 -
蜜罐
常见类型:Hfish、Teapot、T-pot、Glastopf等
如何识别- 人工识别:1. 针对多服务蜜罐,其开放端口多且规律。2. 部分开源蜜罐,可根据其特点判断。
- 项目识别:1. 浏览器插件:
https://github.com/graynjo/Heimdallr
。2.https://github.com/360quake/quake_rs
该项目实际为调用quake空间测绘 api,判断目标ip是否为蜜罐。同样这里不做展示。
注:以上推荐项目,都无法确保能100%识别WAF&蜜罐,识别不到也很正常,项目的提供仅是为了扩展信息收集时的思路。
相关文章:
架构信息收集(小迪网络安全笔记~
附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 2.2 架构信息收集 引子:一个Web应用的构成,由诸多组件&服务相结合,而域名仅是处于Web架构中最表…...
【Python】pandas库---数据分析
大学毕业那年,你成了社会底层群众里,受教育程度最高的一批人。 前言 这是我自己学习Python的第四篇博客总结。后期我会继续把Python学习笔记开源至博客上。 上一期笔记有关Python的NumPy数据分析,没看过的同学可以去看看:【Pyt…...
天猫魔盒M17/M17S_超级UI 线刷固件包-可救砖(刷机取消双勾)
在智能电视盒子的领域中,天猫魔盒 M17 以其独特魅力占据一席之地,然而,原厂设置有时难以满足进阶用户的多元需求。此刻,刷机成为开启全新体验的关键钥匙,为您的盒子注入鲜活能量。 一、卓越固件特性概览 此款精心打造的…...
【Flink-scala】DataStream编程模型之延迟数据处理
DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 3.【Flink-scala】DataStream编程模型之水位线 4.【Flink-scala】DataStream编程模型之窗口计算-触发器-…...
samout llm解码 幻觉更低更稳定
这段代码定义了一个简单的对话生成系统,包括模型加载、词汇表加载、以及基于给定提示生成文本的功能。下面是对代码的解析: load_model_and_voc(device"cpu"): 该函数用于加载预训练的模型和词汇表(vocabulary)。它首先…...
python学opencv|读取图像(十六)修改HSV图像HSV值
【1】引言 前序学习进程中,我们已经掌握了对HSV通道和BGR通道的拆分和合并,并通过自由组合的形式,获得了和初始图像完全不一样的新图像,相关文章可以参考下述链接: python学opencv|读取图像(十四…...
nginx自定义错误页面
一、Nginx 自定义错误页面笔记 error_page 指令 语法:error_page error_code [|answer-code] uri;作用:用于定义当特定的 HTTP 错误发生时,Nginx 应该返回给客户端的自定义页面。error_code 是需要自定义页面的 HTTP 错误码,例如 …...
通过枚举值调用函数
在做业务的时候,需要根据前端传递的不同枚举参数(比如说0,1)返回对应固定的值。但是这个值需要根据时间又有所变化。我们可以使用if-else去实现对应的逻辑,比如说,当前端传递参数为0是,需要返回…...
[手机Linux] 六,ubuntu18.04私有网盘(NextCloud)安装
一,LNMP介绍 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Alibaba/Amazon/Mint/Oracle/Rocky/Alma/Kali/UOS/银河麒麟/openEuler/Anolis OS Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQ…...
powershell(1)
免责声明 学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 泷羽sec官网:http…...
Message Processing With Spring Integration高级应用:自定义消息通道与端点
一、Spring Integration 简介 Spring Integration 是 Spring 框架的扩展,支持企业集成模式(EIP),提供轻量级的消息处理功能,帮助开发者构建可维护、可测试的企业集成解决方案。 核心目标: 提供简单的模型…...
CUDA从入门到精通(六)——CUDA编程模型(二)
1. 核函数类型限定符 CUDA 核函数的常用函数类型限定符及其相关信息的表格: 限定符执行端调用方式备注__global__设备端(GPU)从主机代码使用 <<<...>>> 调用核函数用于声明核函数,在 GPU 上执行。只能从主机代…...
*【每日一题 基础题】 [蓝桥杯 2023 省 B] 飞机降落
题目描述 N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 Ti 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 Di 个单位时间,即它最早可以于 Ti 时刻开始降落,最晚可以于 Ti Di 时刻开始降落。降落过程需要 Li个单位时间…...
作业Day4: 链表函数封装 ; 思维导图
目录 作业:实现链表剩下的操作: 任意位置删除 按位置修改 按值查找返回地址 反转 销毁 运行结果 思维导图 作业:实现链表剩下的操作: 1>任意位置删除 2>按位置修改 3>按值查找返回地址 4>反转 5>销毁 任意…...
线性规划中的几种逻辑表达式
线性规划中的几种逻辑表达式 注意: 摘录字刘博士的《数学建模与数学规划》, 以便用时可查。 实际上Gurobi API 中自身放啊变的逻辑表达式函数,下面列出自定义的实现方式。 1 逻辑与 如果 x 1 1 x_1 1 x11, x 2 1 x_2 1 x21, 那…...
NX二次开发通过内部函数获取面的面积MW_face_ask_area
获取动态库libmold.dll的路径 void TcharToChar(const TCHAR* tchar, char* _char) {int iLength; #if UNICODE//获取字节长度 iLength WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL);//将tchar值赋给_char WideCharToMultiByte(CP_ACP, 0, tchar, -…...
初学stm32 ——— 串口通信
目录 STM32的串口通信接口 UART异步通信方式特点: 串口通信过程 STM32串口异步通信需要定义的参数: USART框图: 常用的串口相关寄存器 串口操作相关库函数 编辑 串口配置的一般步骤 STM32的串口通信接口 UART:通用异步收发器USART&am…...
分割双声道音频-Audacity和ffmpeg
双声道音频资源: https://download.csdn.net/download/yudelian/90135217 1、ffmpeg分割双声道音频 ffmpeg -i input.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav 2、audacity分割双生音频并且播放 选择分离立体声轨 可以看出分离出了两个音频…...
在 Spring Boot 3 中实现基于角色的访问控制
基于角色的访问控制 (RBAC) 是一种有价值的访问控制模型,可增强安全性、简化访问管理并提高效率。它在管理资源访问对安全和运营至关重要的复杂环境中尤其有益。 我们将做什么 我们有一个包含公共路由和受限路由的 Web API。受限路由需要数据库中用户的有效 JWT。 现在用户…...
MySQL追梦旅途之慢查询分析建议
一、找到慢查询 查询是否开启慢查询记录 show variables like "%slow%";log_slow_admin_statements: 决定是否将慢管理语句(如 ALTER TABLE 等)记录到慢查询日志中。 log_slow_extra : MySQL 和 MariaDB 中的一个系…...
电子应用设计方案-60:智能床垫系统方案设计
智能床垫系统方案设计 一、引言 智能床垫作为智能家居的一部分,旨在为用户提供更舒适的睡眠体验和健康监测功能。本方案将详细描述智能床垫系统的设计理念、功能模块及技术实现。 二、系统概述 1. 系统目标 - 实时监测睡眠状态,包括心率、呼吸、体动等…...
聊聊航空航天软件中常用的SIFT(Software-Implemented Fault Tolerance)三版本方案
一、SIFT技术 在软件程序控制流程中,特别是在SIFT(Software-Implemented Fault Tolerance)系统中使用三版本编程(Three-Version Programming, 3VP)意味着为同一个任务创建三个独立的软件版本。每个版本由不同的开发团…...
智能座舱进阶-应用框架层-Jetpack主要组件
Jetpack的分类 1. DataBinding:以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。 2. Lifecycle:用于管理Activity和Fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码。 3. LiveData: 在底层数据库更…...
2024年底-Sre面试回顾
前言 背景: 2024.11月底 公司不大行了, 裁员收缩, 12月初开始面试, 2周大概面试了十几家公司, 3个2面要去线下, 有1个还不错的offer, 想结束战斗但还没到时候 个人情况: base上海 5年经验(2年实施3年运维半年开发) 面试岗位: Sre、云原生运维、驻场运维、高级运维、实施交付 …...
vue2使用render,js中写html
1、js部分table.js export default {name: "dadeT",data() {return {dades: 6666};},render(h) {return h(div, [h(span, 组件数据:${this.dades}), // 利用data里的dades数据,展示在页面上h(span, 89855545)]);} };2、vue部分 <templat…...
L2tp环境搭建笔记- Openwrt平台
L2tp环境搭建笔记- Openwrt平台 安装L2tp服务配置L2tp serverL2TP客户端配置(使用配置文件)L2TP客户端配置(LUCI)客户端 拔号(命令行方式)defaultroute路由问题L2TP(Layer 2 Tunneling Protocol)是一种工作在二层的隧道协议,是一种虚拟专用网络(VPN)协议。L2TP通常基…...
解决Nginx + Vue.js (ruoyi-vue) 单页应用(SPA) 404问题的指南
问题描述 在使用Vue.js构建的单页应用(SPA)中,特别是像ruoyi-vue这样的框架,如果启用了HTML5历史记录模式进行路由管理,那么用户直接访问子路径或刷新页面时可能会遇到404错误。这是因为当用户尝试访问一个非根路径时…...
Leetcode打卡:找到稳定山的下标
执行结果:通过 题目: 3258 找到稳定山的下标 有 n 座山排成一列,每座山都有一个高度。给你一个整数数组 height ,其中 height[i] 表示第 i 座山的高度,再给你一个整数 threshold 。 对于下标不为 0 的一座山…...
51c嵌入式~单片机~合集3
我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、STM32代码远程升级之IAP编程 IAP是什么 有时项目上需要远程升级单片机程序,此时需要接触到IAP编程。 IAP即为In Application Programming,解释为在应用中编程,用户自己的…...
基于vue3实现小程序手机号一键登录
在Vue 3中实现小程序手机号一键登录,你需要结合小程序的API和Vue 3的框架特性。以下是一个基本的实现步骤和示例代码: 步骤 创建Vue 3项目:如果你还没有Vue 3项目,你需要先创建一个。这可以通过Vue CLI或者其他方式来完成。 集成…...
车辆重识别代码笔记12.19
1、resnet_ibn_a和resnet网络的区别 ResNet-IBN-A 是在 ResNet 基础上进行了一些改进的变种,具体来说,它引入了 Instance Batch Normalization (IBN) 的概念,这在某些任务中(如图像识别、迁移学习等)有显著的性能提升。…...
c语言---预处理
预处理的概念 预处理是C语言编译过程的第一个阶段。在这个阶段,预处理器会根据预处理指令对源程序进行处理,这些指令以#开头,比如#include、#define等。预处理的主要目的是对源程序进行文本替换和文件包含等操作,为后续的编译步骤…...
Spring Cloud Sleuth 分布式链路追踪入门
您好,我是今夜写代码,今天学习下分布式链路组件Spring Cloud Sleuth。 本文内容 介绍了分布式链路的思想 Sleuth 和 Zipkin 简单集成Demo,并不涉及 Sleuth原理。 为什么要用链路追踪? 微服务架构下,一个复杂的电商应用,完成下…...
无人机航测系统技术特点!
一、无人机航测系统的设计逻辑 无人机航测系统的设计逻辑主要围绕实现高效、准确、安全的航空摄影测量展开。其设计目标是通过无人机搭载相机和传感器,利用先进的飞行控制系统和数据处理技术,实现对地表信息的全方位、高精度获取。 需求分析࿱…...
uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决
要在创建的key上添加配额 点击配额之后进入分配页面,分配完之后刷新uniapp就可以调用成功了。...
【Prompt Engineering】3.文本概括
一、引言 文本信息量大,LLM在文本概括任务上展现出强大能力。本章介绍如何通过编程方式调用API接口实现文本概括功能。 首先,我们需要引入 zhipuAI 包,加载 API 密钥,定义 getCompletion 函数。 from zhipuai import ZhipuAIke…...
5G 模组 初始化状态检测
5G 模组 上电检测 5G 模组 上电检测 #终端上电后,待模组正常启动,再进入 控制台。 #vim /etc/profile##新增 until [ -c /dev/ttyUSB1 ] doecho -e "Wait module[5G] up ... "sleep 5 done ##新增The End....
常用的前端框架介绍
在前端开发中,有几个常用的框架技术,它们各自具有独特的特点和优势。 1. React: • 组件化开发:React 鼓励将 UI 拆分成可复用的组件,每个组件负责渲染 UI 的一部分。 • 虚拟 DOM:React 使用虚拟 DOM 来提…...
python飞机大战游戏.py
python飞机大战游戏.py import pygame import random# 游戏窗口大小 WINDOW_WIDTH 600 WINDOW_HEIGHT 800# 颜色定义 BLACK (0, 0, 0) WHITE (255, 255, 255)# 初始化Pygame pygame.init()# 创建游戏窗口 window pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))…...
PPO: 一种通过近端策略优化提高模型性能的方法
PPO: 一种通过近端策略优化提高模型性能的方法 PPO(Proximal Policy Optimization)是一种强化学习中的策略优化算法,主要用于训练智能体以改善在环境中表现的能力。PPO通过以下几个关键点来提高模型性能: 近端优化:PP…...
Docker创建一个mongodb实例,并用springboot连接 mongodb进行读写文件
一、通过Docker 进行运行一个 mongodb实例 1、拉取镜像 docker pull mongo:5.0.5 2、创建 mongodb容器实例 docker run -d --name mongodb2 \-e MONGO_INITDB_ROOT_USERNAMEsalaryMongo \-e MONGO_INITDB_ROOT_PASSWORD123456 \-p 27017:27017 \mongo:5.0.5 3、进入容器&am…...
[IT项目管理]九.项目质量管理
九.项目质量管理 9.1项目质量管理的重要性 对于很多IT项目的差劲,大多数人只可以忍受。项目质量管理是IT项目管理的重要组成部分,对于提高项目成功率、降低项目成本、提升客户满意度至关重要。尽管很多人对IT项目的质量问题感到无奈&#x…...
Unity中的委托和事件(UnityAction、UnityEvent)
委托和事件 🎒什么是委托,委托的关键字是Delegate,委托是一种函数的容器,运行将函数做为变量来进行传递 通过Delegate关键字我们声明了一个无参无返回的委托,通过这个委托我们可以存储无参无返回的函数 public deleg…...
图像生成工具WebUI
介绍 Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…...
Python面试常见问题及答案12
问题: 请解释Python中的GIL(全局解释器锁)是什么? ○ 答案: GIL是Python解释器中的一种机制,用于确保任何时候只有一个线程在执行Python字节码。这在多线程场景下可能影响性能优化,但对于单线程…...
javalock(六)CyclicBarrier
注意:CyclicBarrier不是AQS的派生类,而是CyclicBarrier内部使用了ReentrantLock.Condition 和CountDownLatch一样,都是计数减为0就可以成功获取锁 和CountDownLatch不同的是: 1:CountDownLatch的await和countdown操作…...
React 19有哪些新特性?
写在前面 2024.12.5,React 团队在 react.dev/blog 上发表了帖子 react.dev/blog/2024/1… React 19 正式进入了 stable 状态 React 团队介绍了一些新的特性和 Breaking Changes,并提供了升级指南, React 19: 新更新、新特性和新Hooks Reac…...
大数据治理:构建数据驱动的智慧教学体系
随着大数据技术在教育领域的逐渐渗透,大数据治理在教学中的应用日益广泛,它为提升教学质量、优化教学资源配置以及实现个性化教学提供了有力支持。 一、大数据治理在教学数据管理中的应用 在教学过程中,会产生海量的数据,如学生的…...
梳理你的思路(从OOP到架构设计)_浅尝架构师的滋味03
目录 1、分与合: 强龙与地头蛇的分工 分工 & 合作 分工的时间点 客人来之前做「分」,客人来之后做「合」 2、结语 肯德基餐厅 火锅店 汽车 从分工到外包模式 1、分与合: 强龙与地头蛇的分工 EIT造形用来表达架构师的先「分」与买…...
ChatGPT与领域特定语言的集成
用ChatGPT做软件测试 领域特定语言(Domain-Specific Language,DSL)是一种编程语言,专门设计用于满足特定领域或问题领域的需求。它是一种定制的语言,通常包括特定领域的专业术语以及相应的语法规则。DSL的设计旨在让领…...