当前位置: 首页 > news >正文

实战纪实 | 真实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识别中英文 编译好的库下载

测试图片 效果 编译其实挺麻烦的&#xff0c;可参考&#xff1a;在Windows上用Visual Studio编译Tesseract_windows编译tesseract-CSDN博客 #include "baseapi.h" #include "allheaders.h" #include <iostream> #include <fstream> // 用于文…...

状态模式——C++实现

目录 1. 状态模式简介 2. 代码示例 3. 单例状态对象 4. 状态模式与策略模式的辨析 1. 状态模式简介 状态模式是一种行为型模式。 状态模式的定义&#xff1a;状态模式允许对象在内部状态改变时改变它的行为&#xff0c;对象看起来好像修改了它的类。 通俗的说就是一个对象…...

3.观察者模式(Observer)

组件协作模式 现代软件专业分工之后的第一个结果是 “框架与应用程序的划分”,“组件协作” 模式通过晚期绑定&#xff0c;来实现框架与应用程序直接的松耦合&#xff0c;是二者之间协作时常用的模式 典型模式 Template Method Strategy Observer /Event 动机&#xff08;M…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...