weblogic漏洞分析之CVE-2016-0638
一、环境搭建:
这里使用前一篇文章的环境,然后打上补丁
上一篇文章:https://www.cnblogs.com/yyhuni/p/15137095.html
- 下载补丁p20780171_1036_Generic和p22248372_1036012_Generic
- 解压补丁后,复制补丁到Docker中:
docker cp ./p22248372_1036012_Generic/ d1b6be39e32e:/home/
docker cp ./p20780171_1036_Generic d1b6be39e32e:/home/
- 安装补丁:
docker exec -it d1b6be39e32e /bin/bash
cd /root/Oracle/Middleware/utils/bsu
mkdir cache_dir
cp /home/p20780171_1036_Generic/* ./cache_dir/
cp /home/p22248372_1036012_Generic/* ./cache_dir/
vi bsu.sh 编辑MEM_ARGS参数为1024
./bsu.sh -install -patch_download_dir=/root/Oracle/Middleware/utils/bsu/cache_dir/ -patchlist=EJUW -prod_dir=/root/Oracle/Middleware/wlserver_10.3 -verbose
./bsu.sh -install -patch_download_dir=/root/Oracle/Middleware/utils/bsu/cache_dir/ -patchlist=ZLNA -prod_dir=/root/Oracle/Middleware/wlserver_10.3 -verbose
- 重启服务:
docker restart d1b6be39e32e
这时候,使用原先的poc已经是失效了,说明补丁成功打上
二、补丁分析
配置好weblogic的远程调试端口后,复制jar包,导入idea
详细步骤看前面一篇文章:https://www.cnblogs.com/yyhuni/p/15137095.html
补丁位置:
weblogic.rjvm.InboundMsgAbbrev.class :: ServerChannelInputStream
weblogic.rjvm.MsgAbbrevInputStream.class
weblogic.iiop.Utils.class
第一个位置在InboundMsgAbbrev
中,新增了个判断