安洵杯2023
ezjava用treebag连接cb中的BeanComparator调用任意getter
通过postgresql写文件,最后freemarker模板注入rce
123456789101112131415161718192021222324252627282930313233343536package exp;import org.apache.commons.beanutils.BeanComparator;import org.apache.commons.collections.bag.TreeBag;import org.postgresql.ds.PGConnectionPoolDataSource;import static exp.Util.serial;import static exp.Util.setFieldValue;public class CB{ public static void main(String[] args) throws Exception { String loggerLevel = " ...
GeoServer SSRF 漏洞分析
环境搭建这里选择的版本为2.22.1,便于分析两个漏洞
12345678源码https://codeload.github.com/geoserver/geoserver/zip/refs/tags/2.22.1可执行文件https://altushost-swe.dl.sourceforge.net/project/geoserver/GeoServer/2.22.1/geoserver-2.22.1-bin.zipwps插件https://sourceforge.net/projects/geoserver/files/GeoServer/2.22.1/extensions/geoserver-2.22.1-wps-plugin.zip/download
wps插件中的jar包放入webapps/geoserver/WEB-INF/lib中
startup.bat添加调试信息
1234567:run cd "%GEOSERVER_HOME%" echo Please wait while loading GeoServer.. ...
ActiveMQ-61616
n1ctf的一道web题,只开放activemq的61616端口,需要进行ssrf打内网的其他web服务
攻击ActiveMQ brokerActiveMQ的broker开放端口61616,会接收客户端的数据并处理
先写一个demo客户端如下,发送一条ConnectionInfo命令
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667package exploit;import org.apache.activemq.command.ConnectionInfo;import org.apache.activemq.command.ConnectionId;import org.apache.activemq.command.ExceptionResponse;import org.apache.activemq.transport.Transport;import org.apache. ...
GsonGadget
Gson反序列化内网的web服务主要逻辑如下
123456789101112131415@RestController@RequestMapping({"/api"})public class APIController { @GetMapping({"/"}) public String index() throws Exception { return "try /api/com.api.Person/eyJuYW1lIjoidXNlciIsImFnZSI6IjIwIn0="; } @GetMapping({"/{Person}/{Json}"}) public Person handleApiRequest(@PathVariable String Person, @PathVariable String Json) throws ...
从JeecgBoot中学习FreemarkerSSTI
Freemarker模板注入漏洞信息Freemarker 模板注入导致远程命令执行,远程攻击者可利用该漏洞调用在系统上执行任意命令。漏洞危害等级:高危
影响范围如下
minidao-spring-boot-starter 版本 < 1.9.2
jimureport-spring-boot-starter 版本 < 1.6.1
codegenerate 版本 < 1.4.4
hibernate-re 版本 < 3.5.3
jeewx-api 版本 < 1.5.2
drag-free 版本 < 1.0.2
漏洞分析存在漏洞的接口/jmreport/queryFieldBySql,这里首先有sql注入风险
这个接口对应的类位于org.jeecg.modules.jmreport.desreport.a.a,方法是org.jeecg.modules.jmreport.desreport.a.a#c(com.alibaba.fastjson.JSONObject)
首先会进入i.a中对sql语句进行处理,这里主要是检测sql注入,采 ...
JDKSwing Gadget学习
JLable解析html的安全问题JLabel 的内容可以输入 HTML 格式,例如下方的 Demo
1234567891011121314151617181920package me.n1ar4;import javax.swing.*;public class Main { private static void createAndShowGUI() { JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String inputFromUser = "<html><h1>hello</h1><h2>world</h2></html>"; JL ...
Tomcat内存马学习
Filter 内存马Servlet Filter 又称 Servlet 过滤器,它是在 Servlet 2.3 规范中定义的,能够对 Servlet 容器传给 Web 资源的 request 对象和 response 对象进行检查和修改。
Filter 不是 Servlet,不能直接访问,它本身也不能生成 request 对象和 response 对象,它只能为 Web 资源提供以下过滤功能:
在 Web 资源被访问前,检查 request 对象,修改请求头和请求正文,或对请求进行预处理操作。
将请求传递到下一个过滤器或目标资源。
在 Web 资源被访问后,检查 response 对象,修改响应头和响应正文。
而他的工作流程可以通过一张图进行展示。
通常情况下,Filter 配置在配置文件和注解中,在其他代码中如果想要完成注册,主要有以下几种方式:
使用 ServletContext 的 addFilter/createFilter 方法注册;
使用 ServletContextListener 的 contextInitialized 方法在服务器启动时注册(将会在 ...
初探hessian反序列化
主要是一些ctf题目的复现分析
HFCTF-2022 ezchain先是hash碰撞,然后是hessian反序列化
12345678910111213141516171819202122232425static class MyHandler implements HttpHandler { public void handle(HttpExchange t) throws IOException { String query = t.getRequestURI().getQuery(); Map<String, String> queryMap = queryToMap(query); String response = "Welcome to HFCTF 2022"; if (queryMap != null) { String token = queryMap.get("token"); Str ...
从CVE中学习RocketMQ攻击姿势
f9cf6abd56ac18c22996ff4b7fc92950ba623c36be7bbe09cec3a7f2927ea8a68115b1dbe6ecfbf888be4dfe5b37e07b76cd3d1e10aff42cd7bdcd6d8c54301687cc33f0cb0d8bdc12c662d773b5c8b3f77b5e100e3ce6767e19ceeb7946a5aeccb587aa9ddbb5438d3e0828fe341912fd7dbfaea5ea719eea6a5c119c0734d1332141048513d79c9cdfa42702533c0eba06ae12c02190c4cdec62c2be7b8563a8cc665b477c8d4c898ad8985675c79b6479a8656fd06d33a9d0e06defad729ef55c5f03bed123c849dbb1f5371d12b368692edf7dc93410369baab1dc10b2f54b1a2a95691f0f93798340f9cbf28106a79311f0aa75b2b11 ...
HackingJSON
fastjson总结
1.2.24 ~ 1.2.43fastjson-1.2.25
在2017年3月15日,fastjson官方主动爆出在 1.2.24 及之前版本存在远程代码执行高危安全漏洞。
影响版本:fastjson <= 1.2.24描述:fastjson 默认使用 @type 指定反序列化任意类,攻击者可以通过在 Java 常见环境中寻找能够构造恶意类的方法,通过反序列化的过程中调用的 getter/setter 方法,以及目标成员变量的注入来达到传参的目的,最终形成恶意调用链。此漏洞开启了 fastjson 反序列化漏洞的大门,为安全研究人员提供了新的思路。
fastjson-1.2.25
在版本 1.2.25 中,官方对之前的反序列化漏洞进行了修复,引入了 checkAutoType 安全机制,默认情况下 autoTypeSupport 关闭,不能直接反序列化任意类,而打开 AutoType 之后,是基于内置黑名单来实现安全的,fastjson 也提供了添加黑名单的接口。
影响版本:1.2.25 <= fastjson <= 1.2.41 ...