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
CVE-2021-2471 — PoC for CVE-2021-2471 - XXE in MySQL Connector/J | Kitploit
Tools/GitHubGitHub/drunkenshells/cve-2021-2471
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingDatabase Security
GitHubdrunkenshells/cve-2021-2471

CVE-2021-2471

PoC for CVE-2021-2471 - XXE in MySQL Connector/J

Repository anzeigen
33vor 4 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

CVE-2021-2471 - XXE in MySQL Connector/J

Sicherheitslücke im MySQL Connectors-Produkt von Oracle MySQL (Komponente: Connector/J). Die betroffenen unterstützten Versionen sind 8.0.26 und früher.
Erfolgreiche Angriffe auf diese Sicherheitslücke können zu unbefugtem Zugriff auf kritische Daten oder vollständigem Zugriff auf alle zugänglichen Daten der MySQL Connectors sowie zu einer unbefugten Fähigkeit führen, einen Stillstand oder einen häufig wiederholbaren Absturz (vollständige DOS) der MySQL Connectors zu verursachen.

Haftungsausschluss:

Diese Sicherheitslücke wurde von Xu Yuanzhen vom Alibaba Cloud Security Team und Hongkun Chen von Alibaba entdeckt.
Dieser PoC dient Forschungszwecken. Verwenden Sie ihn nicht, um Ziele anzugreifen, für die Sie keine ausdrückliche Erlaubnis zur Ausnutzung haben.

Offenlegung durch den Hersteller:

Die Offenlegung und der Fix des Herstellers für diese Sicherheitslücke sind hier zu finden.

Proof Of Concept:

Die XXE-Sicherheitslücke besteht aus einem XML, das bösartige DTD-Entitäten enthält, das von einer MysqlSQLXML-Komponente empfangen wird, und wird ausgelöst, wenn die Funktion getSource() aufgerufen wird.

Wie im folgenden Code aus der mysql-connector-java-8.0.26.jar zu sehen ist, legt die DOMSource-Klasse, wenn sie als Argument an die Funktion getSource() übergeben wird, einen DocumentBuilder auf unsichere Weise offen, so dass, wenn ein Angreifer den Inhalt des an den Builder übergebenen inputSource kontrolliert, er dies für die Erlangung von XXE nutzen könnte:

root@kitploit:~
public <T extends Source> T getSource(Class<T> clazz) throws SQLException {
        try {
            this.checkClosed();
            this.checkWorkingWithResult();
            InputSource reader;
            if (clazz != null && !clazz.equals(SAXSource.class)) {
                SQLException sqlEx;
                if (clazz.equals(DOMSource.class)) {
                    try {
                        DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
                        builderFactory.setNamespaceAware(true);
                        DocumentBuilder builder = builderFactory.newDocumentBuilder();
                        if (this.fromResultSet) {
                            inputSource = new InputSource(this.owningResultSet.getCharacterStream(this.columnIndexOfXml));
                        } else {
                            inputSource = new InputSource(new StringReader(this.stringRep));
                        }

                        return new DOMSource(builder.parse(inputSource));

Es gibt zwei Möglichkeiten, das bösartige XXE an die MysqlSQLXML zu übergeben:

  • Verwenden der Funktion sqlxml.setString() (wenn der Angreifer beliebige Eingaben an die setString-Funktion aufrufen oder weiterleiten kann)
  • Platzieren des XML in der Datenbank und Abrufen über ein Resultset mittels der Funktion resultSet.getSQLXML() (wenn der Angreifer Schreibzugriff auf die Datenbank hat oder das Opfer auf eine vom Angreifer kontrollierte Datenbank lenken kann)

Zusätzliche Ressourcen:

PoC XXE mit sqlxml.setString()
PoC XXE mit resultSet.getSQLXML()
Verwundbares JAR herunterladen
Weitere XXE-Payloads

Tool herunterladen