前言
继本系列上篇从CVE-2015-4852入手了解T3协议的构造后,本篇继续分析开启T3反序列化魔盒后的修复与绕过。
Weblogic对于10.3.6推出了p20780171和p22248372用于修复CVE-2015-4852,在补丁详情中又提示了p21984589是它的超集,所以可以直接装这个合集。跟着压缩包里自带的README.txt走就行,注意一点是要改一下bsu.sh中的内存限制,不然会遇到Java heap space OutOfMemoryError。
unzip p21984589_1036_Generic.zip -d /u01/app/oracle/middleware/utils/bsu/cache_dir/
cd /u01/app/oracle/middleware/utils/bsu/
sed -i 's/512/1024/' bsu.sh
./bsu.sh -install -patch_download_dir=/u01/app/oracle/middleware/utils/bsu/cache_dir -patchlist=S8C2 -prod_dir=/u01/app/oracle/middleware/wlserver
. /u01/app/oracle/middleware/wlserver/server/bin/setWLSEnv.sh
/java/bin/java weblogic.version
补丁在重写的ServerChannelInputStream#resolveClass中新增了类名黑名单,加入了CC链比较关键的包。


梳理一下:
-
原生反序列化依然存在,流程中的各个关键方法可用。
-
CC链在黑名单以外的部分,仍然可以用作调用链。
-
黑名单类不在
ServerChannelInputStream做反序列化就不受限制。
根据第三点先获取所有用到r

本文详细分析了Weblogic针对CVE-2015-4852的修复措施,包括p21984589补丁的安装过程和其对T3反序列化安全性的改进。着重讨论了两次二次反序列化绕过黑名单的漏洞(CVE-2016-0638和CVE-2016-3510),以及后续补丁如何影响RMI利用和绕过策略。
最低0.47元/天 解锁文章

6128

被折叠的 条评论
为什么被折叠?



