WebLogic安裝
官網(wǎng)下載
安裝過程沒啥特別的,不多說了自己去看吧技羔!
WebLogic簡介
??WebLogic是美國Oracle公司出品的一個Application Server,確切的說是一個基于JavaEE架構(gòu)的中間件纯趋,WebLogic是用于開發(fā)咳燕、集成、部署和管理大型分布式Web應(yīng)用昙楚、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動態(tài)功能和Java Enterprise標準的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)诈嘿、集成堪旧、部署和管理之中。
??WebLogic就是和我們常用的Tomcat差不多的部署Java Web程序的服務(wù)器奖亚。WebLogic Server憑借其出色的群集技術(shù)淳梦,擁有處理關(guān)鍵Web應(yīng)用系統(tǒng)問題所需的性能、可擴展性和高可用性昔字。WebLogic Server既實現(xiàn)了網(wǎng)頁群集爆袍,也實現(xiàn)了EJB組件 群集,而且不需要任何專門的硬件或操作系統(tǒng)支持。網(wǎng)頁群集可以實現(xiàn)透明的復(fù)制陨囊、負載平衡以及表示內(nèi)容容錯 弦疮。無論是網(wǎng)頁群集,還是組件群集谆扎,對于電子商務(wù)解決方案所要求的可擴展性和可用性都是至關(guān)重要的挂捅。共享的客戶機/服務(wù)器和數(shù)據(jù)庫連接以及數(shù)據(jù)緩存和EJB都增強了性能表現(xiàn)。這是其它Web應(yīng)用系統(tǒng)所不具備的堂湖。所以,在擴展性方面WebLogic是遠遠超越了Tomcat状土。
中間件(Middleware)
??中間件是介于應(yīng)用系統(tǒng)和系統(tǒng)軟件之間的一類軟件无蜂,它使用系統(tǒng)軟件所提供的基礎(chǔ)服務(wù)(功能),銜接網(wǎng)絡(luò)上應(yīng)用系統(tǒng)的各個部分或不同的應(yīng)用蒙谓,能夠達到資源共享斥季、功能共享的目的。它可以被描述為“軟件膠水累驮。通常酣倾,它支持復(fù)雜的分布式業(yè)務(wù)軟件應(yīng)用程序。
??Oracle定義中間件的組成包括Web服務(wù)器谤专、應(yīng)用程序服務(wù)器躁锡、內(nèi)容管理系統(tǒng)及支持應(yīng)用程序開發(fā)和交付的類似工具,它通持檬蹋基于可擴展標記語言(XML)映之、簡單對象訪問協(xié)議(SOAP)、Web服務(wù)蜡坊、SOA杠输、Web 2.0和輕量級目錄訪問協(xié)議(LDAP)等技術(shù)。
Oracle融合中間件(Oracle Fusion Middleware)
??Oracle融合中間件是Oracle提出的概念秕衙,Oracle融合中間件為復(fù)雜的分布式業(yè)務(wù)軟件應(yīng)用程序提供解決方案和支持蠢甲。Oracle融合中間件是一系列軟件產(chǎn)品并包括一系列工具和服務(wù), 如:符合Java Enterprise Edition 5(Java EE)的開發(fā)和運行環(huán)境据忘、商業(yè)智能鹦牛、協(xié)作和內(nèi)容管理等。Oracle融合中間件為開發(fā)若河、部署和管理提供全面的支持能岩。
Oracle融合中間件提供兩種類型的組件:
- Java組件
Java組件用于部署一個或多個Java應(yīng)用程序,Java組件作為域模板部署到Oracle WebLogic Server域中萧福。這里提到的Oracle WebLogic Server域在后面會隨著Oracle WebLogic Server詳細解釋拉鹃。 - 系統(tǒng)組件
系統(tǒng)組件是被Oracle Process Manager and Notification (OPMN)管理的進程,其不作為Java應(yīng)用程序部署。系統(tǒng)組件包括Oracle HTTP Server膏燕、Oracle Web Cache钥屈、Oracle Internet Directory、Oracle Virtual Directory坝辫、Oracle Forms Services篷就、Oracle Reports、Oracle Business Intelligence Discoverer近忙、Oracle Business Intelligence竭业。
??在前面Oracle融合中間件的介紹中,我們已經(jīng)發(fā)現(xiàn)了其中貫穿著WebLogic的字眼及舍,且Oracle融合中間件和WebLogic也是我在漏洞分析時經(jīng)澄戳荆混淆的。實際上WebLogic是組成Oracle融合中間件的核心锯玛。幾乎所有的Oracle融合中間件產(chǎn)品都需要運行WebLogic Server咐柜。因此,本質(zhì)上攘残,WebLogic Server不是Oracle融合中間件拙友,而是構(gòu)建或運行Oracle融合中間件的基礎(chǔ),Oracle融合中間件和WebLogic密不可分卻在概念上不相等歼郭。
Oracle WebLogic Server域
??EJB (Enterprise Java Beans) 是基于分布式事務(wù)處理的企業(yè)級應(yīng)用程序的組件遗契。Sun公司發(fā)布的文檔中對EJB的定義是:EJB是用于開發(fā)和部署多層結(jié)構(gòu)的、分布式的实撒、面向?qū)ο蟮腏ava應(yīng)用系統(tǒng)的跨平臺的構(gòu)件體系結(jié)構(gòu)姊途。
??Oracle WebLogic Server域又是WebLogic的核心。Oracle WebLogic Server域是一組邏輯上相關(guān)的Oracle WebLogic Server資源組知态。域包括一個名為Administration Server的特殊Oracle WebLogic Server實例捷兰,它是配置和管理域中所有資源的中心點。也就是說無論是Web應(yīng)用程序负敏、EJB(Enterprise JavaBeans)贡茅、Web服務(wù)和其他資源的部署和管理都通過Administration Server完成。
Oracle WebLogic Server集群
??WebLogic Server群集由多個同時運行的WebLogic Server服務(wù)器實例組成其做,它們協(xié)同工作以提供更高的可伸縮性和可靠性顶考。因為WebLogic本身就是為分布式設(shè)計的中間件,所以集群功能也是WebLogic的重要功能之一妖泄。也就有了集群間通訊和同步驹沿,WebLogic的眾多安全漏洞也是基于這個特性。
WebLogic漏洞分類
??WebLogic爆出的漏洞以反序列化為主蹈胡,通常反序列化漏洞也最為嚴重渊季,官方漏洞評分通常達到9.8朋蔫。WebLogic反序列化漏洞又可以分為XMLDecoder反序列化漏洞和T3反序列化漏洞。其他漏洞諸如任意文件上傳却汉、XXE等等也時有出現(xiàn)驯妄。因此后面的文章將以WebLogic反序列化漏洞為主講解WebLogic安全問題。
反序列化漏洞
??序列化 (Serialization) 是指將數(shù)據(jù)結(jié)構(gòu)或?qū)ο鬆顟B(tài)轉(zhuǎn)換成字節(jié)流 (例如存儲成文件合砂、內(nèi)存緩沖青扔,或經(jīng)由網(wǎng)絡(luò)傳輸) ,以留待后續(xù)在相同或另一臺計算機環(huán)境中翩伪,能夠恢復(fù)對象原來狀態(tài)的過程微猖。
序列化和反序列化詳解參考鏈接
??當服務(wù)端允許接收遠端數(shù)據(jù)進行反序列化時,客戶端可以提供任意一個服務(wù)端存在的目標類的對象 (包括依賴包中的類的對象) 的序列化二進制串缘屹,由服務(wù)端反序列化成相應(yīng)對象励两。如果該對象是由攻擊者『精心構(gòu)造』的惡意對象,而它自定義的readObject()中存在著一些『不安全』的邏輯囊颅,那么在對它反序列化時就有可能出現(xiàn)安全問題。
XMLDecoder反序列化漏洞
??XML是一種標記語言傅瞻,在開發(fā)過程中踢代,可以使用XML進行進行數(shù)據(jù)的傳輸或充當配置文件。XMLDecoder是用于將JavaBean或POJO對象序列化和反序列化的一套API嗅骄,開發(fā)人員可以通過利用XMLDecoder的readject()方法將任意的XML反序列化胳挎,從而使得整個程序更加靈活。
T3反序列化漏洞
??JNDI(Java Naming and Directory Interface)是SUN公司提供的一種標準的Java命名系統(tǒng)接口溺森,JNDI提供統(tǒng)一的客戶端API慕爬,為開發(fā)人員提供了查找和訪問各種命名和目錄服務(wù)的通用、統(tǒng)一的接口屏积。
??RMI(Remote Method Invocation)即遠程方法調(diào)用医窿。能夠讓在某個Java虛擬機上的對象像調(diào)用本地對象一樣調(diào)用另一個Java虛擬機中的對象上的方法。它支持序列化的Java類的直接傳輸和分布垃圾收集炊林。Java RMI的默認基礎(chǔ)通信協(xié)議為JRMP姥卢。
??WebLogic RMI和T3反序列化漏洞有很大關(guān)系,因為T3就是WebLogic RMI所使用的協(xié)議渣聚。WebLogic RMI主要使用T3協(xié)議(還有基于CORBA的IIOP協(xié)議)進行客戶端到服務(wù)端的數(shù)據(jù)傳輸独榴。Java RMI即遠程方法調(diào)用,默認使用JRMP協(xié)議通信奕枝。WebLogic RMI是WebLogic對Java RMI的實現(xiàn)棺榔,其使用T3或IIOP協(xié)議作為通信協(xié)議。無論是Java RMI還是WebLogic RMI隘道,都需要使用JNDI去發(fā)現(xiàn)遠端的RMI服務(wù)症歇。