CVE-2024-36401 GeoServer XPath rce
CVE-2024-36401 GeoServer XPath rce前言GeoServer是一个用Java编写的开源软件服务器,允许用户共享和编辑地理空间数据。它为提供交互操作性而设计,使用开放标准发布来自任何主要空间数据源的数据。
漏洞描述该系统不安全地将属性名称解析为 XPath 表达式。GeoServer 调用的 GeoTools 库 API 以不安全的方式将要素类型的属性名称传递给 commons-jxpath 库。该库在解析 XPath 表达式时,可以执行任意代码。影响范围:GeoServer < 2.23.6 2.24.0 <= GeoServer < 2.24.4 2.25.0 <= GeoServer < 2.25.2
环境搭建代码可以直接去github下载,自己编译运行:https://github.com/geoserver/geoserver/
或在Vulhub下载对应的docker-compose.yml
version: '3'
services:
web:
image: vulhub/ge ...
Apache Kafka UI 远程代码执行漏洞分析
UI for Apache Kafka 远程代码执行漏洞分析前言UI for Apache Kafka 是 Provectus 开源的针对 Apache Kafka 的一款管理界面。kafka-ui 0.4.0版本至0.7.1版本存在安全漏洞,第一个漏洞可执行任意的 Groovy 脚本,第二个漏洞可通过滥用 Kafka UI 连接到恶意 JMX 服务器来利用,从而通过不安全的反序列化导致 RCE。UI for Apache Kafka 默认情况下没有开启认证授权。
环境搭建UI for Apache Kafka项目地址:https://github.com/provectus/kafka-ui
目前最新版是v0.7.2,修复了漏洞,这里分析两个漏洞使用的版本是v0.7.1,并且使用的是docker来搭建
Kafka
version: "3"
services:
kafka:
image: 'bitnami/kafka:latest'
ports:
- '9092:9092'
environmen ...
Frida学习
Frida学习简介Frida 是一款开源的动态插桩工具,可以插入一些代码到原生App的内存空间去动态地监视和修改其行为,支持Windows、Mac、Linux、Android或者iOS,从安卓层面来讲,可以实现Java层和Native层Hook操作。 项目地址 官网及使用文档
Frida原理及重要组件frida注入的原理就是找到目标进程,使用ptrace跟踪目标进程获取mmap,dlpoen,dlsym等函数库的偏移获取mmap在目标进程申请一段内存空间将在目标进程中找到存放frida-agent-32/64.so的空间启动执行各种操作由agent去实现
组件名称
功能描述
frida-gum
提供了inline-hook的核心实现,还包含了代码跟踪模块Stalker,用于内存访问监控的MemoryAccessMonitor,以及符号查找、栈回溯实现、内存扫描、动态代码生成和重定位等功能
frida-core
fridahook的核心,具有进程注入、进程间通信、会话管理、脚本生命周期管理等功能,屏蔽部分底层的实现细节并给最终用户提供开箱即用的操作接口。包含了f ...
CVE-2024-23328分析
CVE-2024-23328分析漏洞概述:DataEase是一款开源的数据可视化分析工具。DataEase数据源中存在一个反序列化漏洞,可以被利用来执行任意代码。漏洞代码位于core/core-backend/src/main/java/io/dataease/datasource/type/Mysql.java文件中。可以绕过mysql jdbc攻击的黑名单,攻击者可以进一步利用该漏洞进行反序列化执行或读取任意文件。该漏洞已在1.18.15和2.3.0版本中修复。
调试环境搭建去官网或github下载安装包和源代码,然后再linux部署,这里下载的是1.18.14版本的
下载完成后解压,然后编辑/detaease-vxxx/dataease/docker-compose.yml,添加调试端口5005
然后运行/detaease-vxxx/install.sh等待docker部署完成
docker部署后是有两个容器,进入detaease的容器编辑文件/deployments/run-java.sh ,添加调试参数
在debug_options()中添加:
echo "-ag ...
Xposed模块编写学习
Xposed模块编写学习Xposed原理Xposed是一款可以在不修改APK的情况下影响程序运行的框架,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。在这个框架下,我们可以编写并加载自己编写的插件APP,实现对目标apk的注入拦截等。
用自己实现的app_process替换掉了系统原本提供的app_process,加载一个额外的jar包,入口从原来的: **com.android.internal.osZygoteInit.main()被替换成了: de.robv.android.xposed.XposedBridge.main()**,创建的Zygote进程就变成Hook的Zygote进程了,从而完成对zygote进程及其创建的Dalvik/ART虚拟机的劫持(zytoge注入)
从本质上来讲,Xposed 模块也是一个 Android 程序。但与普通程序不同的是,想要让写出的Android程序成为一个Xposed 模块,要额外多完成以下四个硬性任务:
1、让手机上的xposed框架知道我们安装的这个程序是个xposed模块。
2、模块里要包含有x ...
安卓逆向基础(一)
安卓逆向基础以下内容全部来自安卓逆向这档事
这里只是记录、学习
环境搭建视频:https://www.bilibili.com/video/BV1wT411N7sV/?spm_id_from=333.788&vd_source=f207ef8a90cd02e940572d9dc7c00d8b
(1)安卓模拟器安装
MUMU或雷电
这里使用的是雷电9
(2)模拟器配置
开启ROOT权限 、开启磁盘可写
(3)安装面具Magisk和LSPosed
Magisk Delta :https://huskydg.github.io/magisk-files/
LSPosed: https://github.com/LSPosed/LSPosed (zygisk)
(4)核心破解(软件)
CorePatch: https://github.com/LSPosed/CorePatch
核心破解是一款基于xposed模块开发的小工具。可以用来去除系统签名校验,直接安装修改过的未签名APK,禁用apk签名验证、覆盖安装不同签名应用的功能。
(5)算法助手
com.junge.algorithm ...
JetBrains TeamCity漏洞分析
JetBrains TeamCity漏洞分析前言文章首发于奇安信攻防社区
简介JetBrains TeamCity是一款由JetBrains开发的持续集成和持续交付(CI/CD)服务器。JetBrains TeamCity发布新版本(2023.11.4)修复了两个高危漏洞JetBrains TeamCity 身份验证绕过漏洞(CVE-2024-27198)与JetBrains TeamCity 路径遍历漏洞(CVE-2024-27199)。未经身份验证的远程攻击者利用CVE-2024-27198可以绕过系统身份验证,创建管理员账户,完全控制所有TeamCity项目、构建、代理和构件,为攻击者执行供应链攻击。远程攻击者利用该漏洞能够绕过身份认证在系统上执行任意代码。
环境搭建参考下面链接,使用docker搭建环境
https://github.com/W01fh4cker/CVE-2024-27198-RCE?tab=readme-ov-file
sudo docker pull jetbrains/teamcity-server:2023.11.3
sudo docker r ...
CodeQL小记
CodeQL小记前言这个文章是用来记录学习CodeQL过程中遇到的问题和一些常用的东西
创建数据库按照自己的理解,codeql创建java类的数据库是通过编译过程中获取AST
开源对于有开源的系统直接使用官方的就行
codeql database create <database> --language=<language-identifier>
指定build命令
codeql database create java-database --language=java --command="mvn clean install"
闭源对于闭源项目,首先考虑是否存在已知数据库,然后再自己构建
构建闭源项目的数据库,直接使用Gitbub上的开源项目,有时候需要自己修改一些东西,遇到问题解决问题
https://github.com/webraybtl/CodeQLpy
https://github.com/waderwu/extractor-java
单jar/war文件这种情况下,目前我只使用过CodeQLpy,
python ...
从CVE-2023-21839到CVE-2024-20931
从CVE-2023-21839到CVE-2024-20931前言某天刷手机看到微信公众号上发布的漏洞通告 “Oracle WebLogic Server JNDI注入漏洞(CVE-2024-20931)” 就联想到了WebLogic之前也存在过的JNDI注入漏洞,分别是CVE-2023-21839 和 CVE-2023-21931 。漏洞通告中说的是CVE-2023-21839的补丁绕过,于是就想看看绕过,学习学习,也回顾一下前面两个漏洞
远程绑定对象Weblogic t3/iiop协议支持远程绑定对象bind到服务端,并且可以通过lookup查看
// 创建远程对象
MyRemoteObject remoteObject = new MyRemoteObject();
// 获取上下文
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PRO ...
Struts2漏洞系列
Struts2漏洞系列前言春节假期结束,回来不知道该干些什么,就找点事情做。之前没有怎么接触和了解过Struts2这个框架,只知道它好多洞,于是就趁现在学习一下。下面调试的是几个可以rce的漏洞。
各个漏洞详情查看:https://cwiki.apache.org/confluence/display/WW/Security+Bulletins
Struts 2 概述Struts2是一个基于MVC(Models、View、Controller)设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 Struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的 ...