Struts2 XXE漏洞(CVE-2025-68493)分析及复现
Struts2 XXE漏洞 CVE-2025-68493漏洞点位置:com.opensymphony.xwork2.util.DomHelper.parse 环境java: 1234567891011121314151617181920212223import com.opensymphony.xwork2.util.DomHelper;import org.w3c.dom.Document;import org.xml.sax.InputSource;import java.io.IOException;import java.io.StringReader;public class Test { public static void main(String[] args) throws IOException { String xmlContent = "<?xml version=\"1.0\"?><!DOCTYPE root [<!ENTITY xxe SYSTEM \&quo...
帆软export/excel SQL注入漏洞分析及复现
官方通告https://help.fanruan.com/finereport/doc-view-4833.html 从官方通告我们可以知道漏洞点在某个 export/excel 接口 漏洞分析我们这里以11.0版本为例 一共找到两个版本,分别调用的Handler如下: 123com.fr.nx.app.web.handler.export.largeds.LargeDatasetExcelExportHandlercom.fr.nx.app.web.v9.handler.handler.largeds.LargeDatasetExcelExportHandler 分别跟进看了一下,解析的逻辑大差不差 暂且不管,随便调一个往下看,这里先看v9 官方说是SQL注入漏洞,那么我们重点关注sql相关语句,跟到doHandle方法下个断点 前两行分别是从请求当中的sessionID来获取一个模板对象以及对应的Calculator,主要是用于处理各种公式运算 这里的sessionID是每个表格每次导出所对应的sessionID值,随便导出一个示例表格可以得到 随后...
一次攻防演练从未授权访问到getshell过程
信息搜集首先从目标主页进行信息搜集,发现授权文件 经过一番查找发现是《微厦在线学习考试系统》的特征项目地址:https://github.com/weishakeji/LearningSystem 查了一下公开的漏洞,可能是因为比较冷门,基本没有,后来cnvd查了下发现洞还挺多的 但都是一些比较老的,也拿不到poc,遂尝试自行挖掘 前台任意用户登录前台存在短信登录功能,我们短信登录抓包,调试分析前端源码 发现js存在一个校验验证码的过程,这里几乎可以确定能绕过 后续分析出短信登录校验逻辑为: 1前端校验验证码,md5(手机号+6位验证码) = 短信验证码响应包的result值 抓包观察验证码响应包 这里的result就是密文,搓个脚本直接爆破 123456789101112131415161718import hashlib# 固定前缀prefix = "18781348729"# 目标 MD5target_hash = "xxxxxxxxxxxxxxxxxxxxxxxxx"# 暴力破解六位验证码for i in rang...
MSI样本分析方法
前言 攻击者经常选择使用MSI安装程序来交付和执行恶意代码,因为这些文件可以将有害的可执行文件和脚本嵌入到看似合法的软件包中,从而逃避检测。滥用MSI文件中的自定义操作来在安装过程中运行恶意代码,并配置安装程序从远程服务器下载其他恶意软件。通过伪装成合法软件,攻击者欺骗用户执行这些文件,MSI安装程序由受信任的Windows服务处理,使恶意软件更容易绕过安全产品并保持未被检测到,这种隐身性和多功能性的结合使MSI文件成为网络攻击的一个有吸引力的载体。 MSI(Microsoft MSI)文件是包含有关软件安装的详细信息的数据库文件,存储安装过程中的数据,包括配置设置、要安装的文件和安装说明,确保结构化和高效的软件部署。此外,MSI文件提供修复和更新现有安装的功能,使其成为软件管理的通用和高效工具,设计用于与负责应用程序管理的核心Windows组件Windows Installer服务一起使用,这种标准化和多功能性也使MSI文件成为恶意利用的常见目标。 因此笔者在这里总结了有关MSI文件的结构和功能的详细信息和分析方法,用以分析这些文件的潜在威胁。 MSI和EXE的区别首先我们来...
从Kimsuky组织msc攻击样本到GrimResource
从Kimsuky组织msc攻击样本到GrimResource前言近期笔者通过外网监测到一个Kimsuky组织的msc攻击样本,这里对样本进行分析,以及谈谈其利用的攻击技术 1SHA256: 57e9b7d1c18684a4e8b3688c454e832833e063019ed808fd69186c4e20df930a msc文件 MSC(Microsoft Snap-In Control)文件,是微软管理控制台MMC(Microsoft Management Console)用来添加/删除的嵌入式管理单元文件。通常通过MMC来管理,可点击“文件”菜单中的“添加/删除管理单元”操作来管理当前系统中已经安装的MSC文件。可以点击开始/运行,然后输入下列文件名就可以打开相应的控制窗口。 看到这个后缀,很多人可能已经想到了组策略编辑器(gpedit.msc),该样本即是通过msc文件实现攻击,利用特制的管理保存控制台 (MSC) 文件来使用 Microsoft 管理控制台 ( MMC ) 获得完整的代码执行并逃避安全防御 这项技术最早由Elastic 安...
Nanocore恶意程序分析
Nanocore恶意程序分析前言最近在外网发现一个有意思的Nanocore恶意脚本的样本,给大家分享一下 123SHA256: c6092b1788722f82280d3dca79784556df6b8203f4d8f271c327582dd9dcf6e1Sharelink: https://virusshare.com/file?2596ef126fb57cdf2ba563b05444ad0ec6dad6a0083b3c309ca9595e64ad0615 初步分析 源文件的大部分均为干扰用的字符串,直接正则替换提取出来,拿到核心代码 ^(REM|').* 混淆技术分析首先chr字符串可以很容易想到数值转换字符,我们用第一个混淆具体拆开分析一下 chr函数:数值转字符 479808:十进制数值,用于参与后续的计算 CLng函数:vbs中的CLng 函数,用于把表达式转换为长整型(Long)类型 &H1B90:这是vbs中的十六进制写法,代表0x1B90 以及其余的算术运算符 直接做计算得到: 同理第二个混淆: 通过python批量提取所有混淆后的...
Java安全基础
Java安全基础Note类和对象的关系类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。 类与对象的关系就如模具和铸件的关系 类的实例化结果就是对象,而对一类对象的抽象就是类,类描述了一组有相同属性和相同方法的对象。 class类的newInstance方法class的newInstance()方法,需要我们类中存在无参的构造器,并且能直接访问,它通过无参的构造器来实例化,而一旦我们类中不存在无参构造器,那么第一种方法就不行了 getMethods 和 getDeclaredMethods 方法的区别getMethods:获取当前类或父类或父接口的 public 修饰的字段;包含接口中 default 修饰的方法 (JDK1.8)。 getDeclaredMethods: 获取当前类的所有方法;包括 protected/默认/private 修饰的方法;不包括父类 、接口 public 修饰的方法。 反射Runtime.exec和Proc...
渗透测试面试分区块总结
域渗透123456789101112131415161718192021222324#DC WindowsServer2012域名:y5neko.comNAT:192.168.1.129静态:192.168.1.250密码:Y5NEKO0/Administrator:dc@123NetBIOS域名:Y5NEKO0其他域用户账号密码:user1:win71@123user2:win72@123普通域管理员账号密码:admin:admin@123yueshu:yueshu@123yeushu1:yueshu1@123ziyuanyueshu:ziyuanyueshu@123SYSVOL漏洞测试密码:user@123#WIN71 Windows7密码:Administrator:win71@123静态:192.168.1.3#KaliNAT:192.168.1.128 信息搜集判断域环境1net config workstation 找域控123456#fscan扫描netbios./fscan_amd64 -np -m netbios -h 192.168.1.0/24#ne...
一些关于JavaFX的记录
环境准备下载对应版本JavaFX,解压出来如下:bin目录下所有dll放入jdk的bin目录,lib目录下的所有jar包添加进项目库,src为source源。 Scene图 ## 概述 Scene图是一种树形数据结构,它排列(和分组)图形对象以便于逻辑表示。 它还允许图形引擎以最有效的方式渲染对象, 完全或部分跳过在最终图像中看不到的对象。 下图显示了JavaFX场景图架构的一个示例。 在架构的最顶端有一个`Stage`。 `Stage`是原生操作系统窗口的JavaFX表示。 在任何给定的时间,阶段可以有一个单一的`Scene`连接到它。 场景是JavaFX场景图的容器。 JavaFX `Stage`图中的所有元素都表示为`Node`对象。 节点有三种类型:根、分支和叶。 根节点是唯一没有父节点的节点 直接包含在一个场景中,如上图所示。 分支和叶节点之间的区别在于叶节点没有子节点。 在scene图中,父节点的许多属性由子节点共享。 例如,应用于父节点的转换或事件也将递归地应用于其子节点。 因此,可以将复杂的节点层次结构视为单个节点,以简化编程模型。 我们将在后面的章节中探索转换...
数据结构
PE结构 ## 概念 **PE**(Portable Execute)文件是Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS 等。它是微软在 UNIX 平台的 COFF(通用对象文件格式)基础上制作而成。最初设计用来提高程序在不同操作系统上的移植性,但实际上这种文件格式仅用在 Windows 系列操作系统下。PE文件是指 32 位可执行文件,也称为PE32。64位的可执行文件称为 PE+ 或 PE32+,是PE(PE32)的一种扩展形式(不是PE64)。 名称 描述 地址 是 “虚拟地址” 而不是“物理地址”。不是“物理地址”的原因shi数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因为系统自己会为程序准备好内存空间的(只要内存足够大) 节 节 是 PE 文件中 代码 或 数据 的基本单元。原则上讲,节只分为 “代码节” 和 “数据节” 。 镜像文件 包含以 EXE 文件为代表的 “可执行文件”、以DLL文件为代表的“动态链接库”。因为他们常常被直接“复制”到内存...
