实战纪实 | 真实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…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...