实战纪实 | 真实HW漏洞流量告警分析
视频教程在我主页简介和专栏里
目录:
一、web.xml 文件泄露
二、Fastjson 远程代码执行漏洞
三、hydra工具爆破
四、绕过验证,SQL攻击成功
五、Struts2代码执行
今年七月,我去到了北京某大厂参加HW行动,因为是重点领域—-jr,所以每天态势感知设备上都有大量的告警。
现在给大家分享一下我碰见的部分告警流量以及一些其他友厂当时分享的流量,并教大家我是如何分辨其为什么漏洞引起的告警。
涉及保密协议,以下所有内容都会厚码
一、web.xml 文件泄露

web.xml文件是Web应用程序中的核心配置文件,它位于Web应用程序的WEB-INF目录下,这个文件定义了Web应用程序的配置信息
Servlet定义:声明Web应用程序中的Servlet及其对应的URL模式。
Servlet映射:将URL模式映射到特定的Servlet。
初始化参数:为Servlet提供初始化参数。
欢迎文件列表:定义访问Web应用程序根目录时默认显示的页面。
错误页面:定义错误发生时显示的页面。
安全约束:定义访问控制和用户认证机制。
会话配置:设置会话超时等会话管理参数。
MIME类型:定义文件扩展名与MIME类型的映射。
JSP配置:JSP页面的配置信息。
这次泄露的原因正是因为客户服务器没有正确设置访问权限,使得WEB-INF目录可以被外部访问,在系统开放时间段攻击队是由目录扫描工具直接扫出来了,当时是及时响应,杜绝了攻击。
web.xml文件泄露可能会造成以下危害:
暴露敏感信息:如果web.xml中包含了敏感的初始化参数,如数据库密码、API密钥等,泄露后可能会被攻击者利用。
理解应用结构:攻击者可以通过web.xml了解应用程序的URL结构和Servlet映射,这有助于他们发现潜在的攻击点。
绕过安全控制:如果web.xml中定义了安全约束,泄露后攻击者可能会找到绕过这些安全控制的方法。
配置弱点利用:攻击者可能会利用web.xml中的配置弱点,比如会话管理不当,来发起会话劫持攻击。
信息泄露:错误页面和欢迎文件列表的配置可能会泄露关于应用程序内部结构的信息。
MIME类型滥用:如果MIME类型配置不当,攻击者可能会利用这一点来执行恶意文件上传攻击。
JSP配置泄露:JSP页面的配置信息泄露可能会导致攻击者利用JSP页面的特定功能进行攻击。
二、Fastjson 远程代码执行漏洞

fastjson反序列化漏洞原理:
只要我们传入一个json类型数据包含@type,程序在调用JSON.parseObject这个方法处理json对象时,程序就会反序列化生成一个对象。因此,了解了Fastjson处理json的机制,攻击者只需要将@type值设为Templateslmpl,构造一个恶意类,而这个类还有一个字段是_bytecodes,程序根据_bytecodes生成了一个java实例。问题在于java实例生成的同时,会自动调用构造函数。那么攻击者只要把恶意代码赋值给_bytecodes字段,恶意代码就会执行。
如何判断反序列化漏洞是否攻击成功:

该图片来自我的面经
当时在waf上看见这个告警顿感天都塌了,JSON类型,@type,状态码400,想着都执行成功了准备收拾行李被开除了,幸好当时有另一个驻场大佬,直接在防火墙把策略关了,外网访问不了,杜绝危害。
三、hydra工具爆破

Hydra,也被称为“九头蛇”,是一款由著名黑客组织THC开发的开源暴力破解工具
。它主要用于通过暴力破解的方式尝试登录到目标服务器或服务,以测试和评估网络的安全性。Hydra支持多种协议,包括但不限于SSH、FTP、Telnet、SMTP、HTTP(S)、MySQL、PostgreSQL、SMB等。它能够自动化地进行暴力破解过程,使用预先准备好的用户名和密码字典,尝试所有可能的组合来登录到目标服务器或服务上。
这里它爆破的ua头居然直接有hydra这个字符特征,Hydra在进行攻击时,可以自定义HTTP请求中的UA头,以模仿常见的浏览器或其他客户端的请求,这样做的目的是为了减少被目标服务器识别为攻击流量的可能性,但这里居然直接暴露自己,我也是没看懂攻击队要干嘛。
四、绕过验证,SQL攻击成功

其Payload为
/xx/UNION/xx/SELECT/xx/20NULL,CONCAT(‘~,’version(),%20’~’)由于星号会被认定为加粗,这里用x代替星号
这里是使用了
内联注释:原理:在SQL关键词中插入内联注释(如/xx/),可以改变关键词的外观,绕过基于文本匹配的过滤器。
大小写变种:原理:SQL是不区分大小写的,所以可以混合使用大小写字母来绕过对特定关键字(如SELECT, FROM)的过滤。
成功绕过了验证机制执行了version()函数获得了数据库版本
这条SQL注入语句的目的是在不改变原始查询结构的前提下,通过UNION操作符将一个查询数据库版本的SELECT语句插入到原始查询中。这样,当这条注入语句被执行时,它不仅会执行原始的查询,还会执行攻击者添加的查询数据库版本的语句,并将结果输出在页面上
五、Struts2代码执行

st2-062rce原理:
开发人员使用%{。。。}语法进行强制OGNL解析,有一些特殊的TAG属性可以执行二次解析。对不受信任的用户输入使用强制OGNL解析可能会导致远程代码执行。
com.ooensymphony.xwork2.ActionContext.container特征
如何在流量层面分析st2命令执行是否成功

视频教程在我主页简介和专栏里
申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关
相关文章:
实战纪实 | 真实HW漏洞流量告警分析
视频教程在我主页简介和专栏里 目录: 一、web.xml 文件泄露 二、Fastjson 远程代码执行漏洞 三、hydra工具爆破 四、绕过验证,SQL攻击成功 五、Struts2代码执行 今年七月,我去到了北京某大厂参加HW行动,因为是重点领域—-jr&…...
【AI论文】扩散对抗后训练用于一步视频生成总结
摘要:扩散模型被广泛应用于图像和视频生成,但其迭代生成过程缓慢且资源消耗大。尽管现有的蒸馏方法已显示出在图像领域实现一步生成的潜力,但它们仍存在显著的质量退化问题。在本研究中,我们提出了一种在扩散预训练后针对真实数据…...
重回C语言之老兵重装上阵(十六)C语言可变参数
C语言可变参数 在C语言中,标准库提供了一些函数允许接收可变数量的参数。最典型的例子就是 printf 和 scanf,它们能够处理不确定数量的参数。为了实现这一功能,C语言提供了可变参数函数的概念。 1. 可变参数函数的概念 可变参数函数是指函数…...
深拷贝、浅拷贝、移动语义
C 中的拷贝方式 1. 深拷贝(Deep Copy) 定义 深拷贝会复制对象的全部内容,包括对象中动态分配的资源。新对象与原对象完全独立,任何对新对象的修改都不会影响原对象。 实现 通常通过显式的拷贝构造函数或拷贝赋值运算符&#…...
双向链表在系统调度、游戏、文本编辑及组态方面的应用
在编程的奇妙世界里,数据结构就像是一把把神奇的钥匙(前面我们介绍过单向链表的基础了,这里我们更进一步),能帮我们打开解决各种问题的大门。今天,咱们就来聊聊其中一把特别的钥匙——双向链表。双向链表和…...
实践网络安全:常见威胁与应对策略详解
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 引言 在数字化转型的浪潮中,网络安全的重要性已达到前所未有的高度。无论是个人用户、企业,还是政府机构…...
关于2024年
关于2024年 十分钟前我从床上爬起来,坐在电脑面前先后听了《黄金时代》——声音碎片和《Song F》——达达两首歌,我觉得躺着有些无聊,又或者除夕夜的晚上躺着让我觉得有些不适,我觉得自己应该爬起来,爬起来记录一下我…...
Hive:Hive Shell技巧
在终端命令窗口不能直接执行select,creat等HQL命令,需要先进入hive之后才能执行,比较麻烦,但是如果使用Hive Shell就可以直接执行 在终端只执行一次Hive命令 -e 参数, "execute"(执行),使用-e参数后会在执行完Hive的命令后退出Hive 使用场景:…...
Markdown Viewer 浏览器, vscode
使用VS Code插件打造完美的MarkDown编辑器(插件安装、插件配置、markdown语法)_vscode markdown-CSDN博客 右键 .md 文件,选择打开 方式 (安装一些markdown的插件) vscode如何预览markdown文件 | Fromidea GitCode - 全球开发者…...
快速分析LabVIEW主要特征进行判断
在LabVIEW中,快速分析程序特征进行判断是提升开发效率和减少调试时间的重要技巧。本文将介绍如何高效地识别和分析程序的关键特征,从而帮助开发者在编写和优化程序时做出及时的判断,避免不必要的错误。 数据流和并行性分析 LabVIEW的图形…...
【Super Tilemap Editor使用详解】(十五):从 TMX 文件导入地图(Importing from TMX files)
Super Tilemap Editor 支持从 TMX 文件(Tiled Map Editor 的文件格式)导入图块地图。通过导入 TMX 文件,你可以将 Tiled 中设计的地图快速转换为 Unity 中的图块地图,并自动创建图块地图组(Tilemap Group)。以下是详细的导入步骤和准备工作。 一、导入前的准备工作 在导…...
JavaScript系列(45)--响应式编程实现详解
JavaScript响应式编程实现详解 🔄 今天,让我们深入探讨JavaScript的响应式编程实现。响应式编程是一种基于数据流和变化传播的编程范式,它使我们能够以声明式的方式处理异步数据流。 响应式编程基础概念 🌟 💡 小知识…...
Lustre Core 语法 - 布尔表达式
Lustre v6 中的 Lustre Core 部分支持的表达式种类中,支持布尔表达式。相关的表达式包括and, or, xor, not, #, nor。 相应的文法定义为 Expression :: not Expression| Expression and Expression| Expression or Expression | Expression xor Expression | # (…...
python学opencv|读取图像(四十六)使用cv2.bitwise_or()函数实现图像按位或运算
【0】基础定义 按位与运算:全1取1,其余取0。按位或运算:全0取0,其余取1。 【1】引言 前序学习进程中,已经对图像按位与计算进行了详细探究,相关文章链接如下: python学opencv|读取图像&…...
C# 添加、替换、提取、或删除Excel中的图片
在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观。此外,对于已有图片,你有事可能需要更新图片以确保信息的准确性,或者将Excel 中的图片单独保存,用于资料归档、备…...
工作总结:压测篇
前言 压测是测试需要会的一项技能,作为开发,有点时候也要会一点压测。也是被逼着现学现卖的。 一、压测是什么,以及压测工具的选择 压测,即压力测试,是一种性能测试手段,通过模拟大量用户同时访问系统&am…...
11JavaWeb——SpringBootWeb案例02
前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能,还有两个需要实现: 新增员工 修改员工 首先我们先完成"新增员工"的功能开发,再完成"修改员工"的功能开发。而在"新增员工"中…...
vs2022+tesseract ocr识别中英文 编译好的库下载
测试图片 效果 编译其实挺麻烦的,可参考:在Windows上用Visual Studio编译Tesseract_windows编译tesseract-CSDN博客 #include "baseapi.h" #include "allheaders.h" #include <iostream> #include <fstream> // 用于文…...
状态模式——C++实现
目录 1. 状态模式简介 2. 代码示例 3. 单例状态对象 4. 状态模式与策略模式的辨析 1. 状态模式简介 状态模式是一种行为型模式。 状态模式的定义:状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 通俗的说就是一个对象…...
3.观察者模式(Observer)
组件协作模式 现代软件专业分工之后的第一个结果是 “框架与应用程序的划分”,“组件协作” 模式通过晚期绑定,来实现框架与应用程序直接的松耦合,是二者之间协作时常用的模式 典型模式 Template Method Strategy Observer /Event 动机(M…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
