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

实战纪实 | 真实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命令执行是否成功

 视频教程在我主页简介和专栏里

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关  

http://www.kler.cn/a/523326.html

相关文章:

  • Kiwi 安卓浏览器本月停止维护,扩展功能迁移至 Edge Canary
  • 使用CSS实现一个加载的进度条
  • 设计模式-建造者模式、原型模式
  • 使用kitty terminal遇到的‘xterm-kitty‘: unknown terminal type.
  • python学opencv|读取图像(四十九)使用cv2.bitwise()系列函数实现图像按位运算
  • DeepSeek能够进行逻辑推理吗?
  • MLMs之Janus:Janus/Janus-Pro的简介、安装和使用方法、案例应用
  • 《网络数据安全管理条例》施行,企业如何推进未成年人个人信息保护(下)
  • UE求职Demo开发日志#8 强化前置条件完善,给物品加图标
  • 数据从前端传到后端入库过程分析
  • 【汽车电子架构】AutoSAR从放弃到入门专栏导读
  • 【2024年华为OD机试】 (C卷,200分)- 根据IP查找城市(JavaScriptJava PythonC/C++)
  • 股指期货的基差套利有什么样的风险?
  • 【后端开发】字节跳动青训营Cloudwego脚手架
  • DeepSeek 突然崛起的原因剖析及对外界的影响
  • 【MySQL】悲观锁和乐观锁的原理和应用场景
  • C基础寒假练习(3)
  • 基础IO相关知识
  • 使用jmeter进行压力测试
  • 安全漏洞扫描与修复系统的高质量技术详解
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-LangGraph-链式处理(一)
  • scratch学习教程
  • 0 基础学运维:解锁 K8s 云计算运维工程师成长密码
  • Lustre Core 语法 - 比较表达式
  • 如果我想设计一款复古风格的壁纸,应该选什么颜色?
  • JMeter插件PerfMon Metrics Collector:全方位服务器性能监控指南