2024红名谷-Java
并不是打什么反序列化链子的操作 就是一个打SSRF 302跳转/Dns重绑定 然后ssti的一个操作
模板渲染的点 这里值如果可控的话就可以造成SSTI漏洞
刚在再AdminControl里面有个Process函数 并且这hostname可控 我们本地进行测试
写了个demo
123456789101112131415package com.example;import org.thymeleaf.TemplateEngine;import org.thymeleaf.context.Context;import org.thymeleaf.spring5.SpringTemplateEngine;public class Test { public static void main(String[] args) { String hostname = "<a th:href=\"${''.getClass().forName('java.lang.Runtime ...
Dotnet-IIS后门
https://y4er.com/posts/using-csharp-to-develop-the-iis-module-backdoor/#%E5%8F%82%E8%80%83
https://github.com/WBGlIl/IIS_backdoor/tree/master
iis后门的两种形式根据微软的文档,iis开发功能分为两种,分别是IIS module和IIS handler,即IIS模块和IIS处理程序。
IIS模块是一个.NET类,该类实现ASP.NETSystem.Web.IHttpModule接口,并使用System.Web命名空间中的API参与一个或多个ASP.NET的请求处理阶段。
IIS处理程序也是一个类,该类实现ASP.NETSystem.Web.IHttpHandler或System.Web.IHttpAsyncHandler接口,并使用System.Web命名空间中的API为其支持的特定内容生成http响应。
IIS处理程序负责将请求提供给特定的url或特定扩展名,IIS模块则应用于基于任意规则的所有或某些请求。本文以IIS模块为例开发IIS后门实现 ...
Dubhe2024-Javolution
因为之前再看那个绕高版本的jdk的jndi注入的时候 就有提到用jndi转JDBC来打 当时就是看看 没有实践 现在刚好这次比赛出了jdk17打JDBC的题 这里就记录一下
Teradata JDBChttps://i.blackhat.com/Asia-23/AS-23-Yuanzhen-A-new-attack-interface-in-Java.pdf
https://github.com/luelueking/Deserial_Sink_With_JDBC
python运行那两个脚本就行了
POC
123456789101112package com.example;import java.io.IOException;import java.sql.DriverManager;import java.sql.SQLException;public class POC { public static void main(String[] args) throws SQLException, IOException { Drive ...
Dotnet-Deserialization-13
https://github.com/Y4er/dotnet-deserialization/blob/main/.NET%20Remoting.md
简介.net remoting是一种在不同进程间传递对象的方式。假如两个不同的进程分别为服务端、客户端,客户端和服务端各自保存相同的一份对象(DLL),那么可以通过.net remoting技术来远程传递对象。拿java来讲更类似于rmi的概念。
.net remoting可以使用tcp、http、ipc协议来传输远程对象
三种协议的不同三种协议都位于程序集System.Runtime.Remoting.dll,命名空间分别为System.Runtime.Remoting.Channels.Http、System.Runtime.Remoting.Channels.Tcp、System.Runtime.Remoting.Channels.Ipc
其中不同协议用处不同:
IpcChannel用于本机之间进程传输,使用ipc协议传输比HTTP、TCP速度要快的多,但是只能在本机传输,不能跨机器,本文不讲。
TcpChannel基于tcp ...
Dotnet-Deserialization-12
https://github.com/Y4er/dotnet-deserialization/blob/main/Fastjson.md
Fastjsonfastjson2.2.4版本
和java的差不多
本文讲解fastjson.net的反序列化漏洞
demo
1234567891011121314151617181920212223using fastJSON;using System;namespace Fastjson.NetSerializer{ class Person { public string Name { get; set; } } class Program { static void Main(string[] args) { Person person = new Person(); person.Name = "jack"; str ...
Dotnet-Deserialization-11
https://github.com/Y4er/dotnet-deserialization/blob/main/Json.Net.md
Json.Net官方文档给出了最简单的两个json示例,分别是JsonConvert、JsonSerializer。这里先看下JsonConvert
demo
12345678910111213141516171819202122232425262728293031using Newtonsoft.Json;using System;namespace Json.NetSerializer{ class Person { public string Name { get; set; } } class Program { static void Main(string[] args) { Person person = new Person(); person.Nam ...
Dotnet-Deserialization-10
JavaScriptSerializerdemo
1234567891011121314151617181920212223242526272829303132using System;using System.Web.Script.Serialization;namespace JavaScriptDeserialize{ class Person { public string Name { get; set; } } class Program { static void Main(string[] args) { // no SimpleTypeResolver Person person = new Person() { Name = "jack" }; JavaScriptSerializer serializer = new J ...
Dotnet-Deserialization-09
https://github.com/Y4er/dotnet-deserialization/blob/main/DataContractJsonSerializer.md
DataContractJsonSerializer在dotnet中对于对象转json的处理有几大库,DataContractJsonSerializer、Json.net、JavaScriptSerializer。其中DataContractJsonSerializer、JavaScriptSerializer是dotnet自带的标准库,本文讲解DataContractJsonSerializer的使用。
这个类和xmlSerializer、DataContractSerializer一样 都是需要控制Type值
Demo
123456789101112131415161718192021222324252627282930313233343536using System;using System.IO;using System.Runtime.Serialization;using System.Runti ...
Dotnet-Deserialization-08
https://github.com/Y4er/dotnet-deserialization/blob/main/DataContractSerializer.md
DataContractSerializer其实这个类和xmlSerializer是类似的 都是得控制type变量的值 还有传入的xml的值
(type的值必须得是序列化的类 不然会反序列化失败)
其不同的是这个类的序列化和反序列化的是依靠writeobject和readobject类
给个官方的Demo
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980using System;using System.IO;using System.Runtime.Serialization;using System.Xml;namespace DataContractDeseri ...
Dotnet-Deserialization-07
https://github.com/Y4er/dotnet-deserialization/blob/main/ObjectStateFormatter.md
ObjectStateFormatter在06中就讲到的LosFormatter反序列化的时候 就会将字节流转到这个反序列化类来进行
ObjectStateFormatter和没有设置mac/keys的LosFormatter是一样的。所以在遇到ObjectStateFormatter反序列化时直接用ysoserial.net的LosFormatter生成payload即可,除非需要mac/key
(06中没有用到mac/key)
和LosFormatter一样 也是能接受stream和string类型的序列化
RolePrincipaldemo
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747 ...