本來想試試打補丁,但是有些麻煩,而且oracle補丁黑名單的方式總不讓人放心。
因此考慮直接刪除相關的包。
該方式適用於xmldecoder漏洞系列,如CVE-2017-3506、CVE-2017-10271、CVE-2019-2729
步驟為:
1、停止weblogic服務。
netstat -ap | grep 7001
獲取weblogic相關進程的PID
然后,kill -9 PID
2、首先要刪除的是,bea_wls9_async_response.war和wls-wsat.war這兩個包。
應該在
${WL_HOME}/wlserver_10.3/server/lib下。
3、當然還有緩存。
如wls-wsat包,應該是這樣的形式。
${WL_HOME}/user_projects/domains/test_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
${WL_HOME}/user_projects/domains/test_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat
同理,bea_wls9_async_response也如此。
4、清理緩存,一定要同時把war包和tmp文件刪掉再重啟,只刪其中一個或者刪了一個重啟后再刪另外一個都是不能修復。原理上是在啟動時lib下的war包會復制到tmp/.internal/下。如果只刪除2那再啟動時又復制回來顯然沒效果,如果只刪除lib下的war包那重啟時tmp下的包並不會被清除,所以還是沒效果。
為了省事,我是直接刪了tmp目錄。
rm -rf ${WL_HOME}/user_projects/domains/test_domain/servers/AdminServer/tmp/
最后全局檢索下有沒有類似war或者目錄。
5、啟動weblogic服務。
nohup ./startweblogic.sh &
訪問,404,成功。
補充:目前出了最新補丁,也就是CVE-2019-2729,刪包怕影響業務的可以考慮打上U512的全量和IL49的增量補丁。
3506補丁:
10271補丁:
2725補丁:
2729白名單補丁:
參考鏈接:
http://xxlegend.com/2019/04/30/CVE-2019-2725%E5%88%86%E6%9E%90/