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
phpMyAdmin-CVE-2020-5504-Exploit — Autorisiertes SQL-Injection-Exploitation-Framework für CVE-2020-5504 in phpMyAdmin, mit automatisierter Datenbank-Enumeration, Blind-Injection, Proxy-Unterstützung und strukturierter Berichterstattung für Penetrationstests und Sicherheitsforschung. | Kitploit
Tools/GitHubGitHub/cerberusmrxi/phpmyadmin-cve-2020-5504-exploit
AufklärungSchwachstellenscannerExploitationWebanwendungs-ExploitationInformationsbeschaffungWebsicherheitPenetrationstestsDatenbanksicherheit

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHub
cerberusmrxi/phpmyadmin-cve-2020-5504-exploit

phpMyAdmin-CVE-2020-5504-Exploit

Autorisiertes SQL-Injection-Exploitation-Framework für CVE-2020-5504 in phpMyAdmin, mit automatisierter Datenbank-Enumeration, Blind-Injection, Proxy-Unterstützung und strukturierter Berichterstattung für Penetrationstests und Sicherheitsforschung.

Repository anzeigen
vor 1 TagNoch nicht geprüft
Teilen

CVE-2020-5504 phpMyAdmin Sicherheitsbewertungs-Tool

Autorisiertes Sicherheitstest- und Forschungsframework zur Identifizierung und Validierung von CVE-2020-5504 in phpMyAdmin-Bereitstellungen

VersionPythonLicenseSecurity ResearchCVEPull Requests

Überblick · Funktionen · Installation · Verwendung · Berichte · Architektur · Mitwirken

Hinweis zur verantwortungsvollen Nutzung: Dieses Projekt ist ausschließlich für Systeme gedacht, die Ihnen gehören oder für die Sie ausdrücklich zur Bewertung autorisiert sind. Verwenden Sie es nicht gegen öffentliche, Drittanbieter- oder Produktionssysteme ohne schriftliche Genehmigung und einen definierten Testumfang.


Screenshots

CLI-AusgabeVerwendung
CLI OutputUsage

Überblick

CVE-2020-5504 ist eine SQL-Injection-Schwachstelle, die die Benutzerkontenseite von phpMyAdmin betrifft. Laut dem offiziellen phpMyAdmin-Advisory sind phpMyAdmin 4.x-Versionen vor 4.9.4 und phpMyAdmin 5.0.0 betroffen; das Advisory empfiehlt ein Upgrade auf 4.9.4 oder neuer für die 4.x-Linie und 5.0.1 oder neuer für die 5.x-Linie.[1] Die National Vulnerability Database verzeichnet, dass die Ausnutzung ein gültiges MySQL-Konto für den Zugriff auf den Server erfordert.[2]

Dieses Projekt bietet einen strukturierten Arbeitsablauf für autorisiertes Penetrationstesting, kontrollierte Validierung und Sicherheitsforschung. Es wurde entwickelt, um Prüfern zu helfen, ein Ziel zu identifizieren, zu verifizieren, ob das Ziel betroffen erscheint, Beweise zu dokumentieren und strukturierte Berichte für die Behebung von Schwachstellen zu erstellen.

Projektziele

Das Framework ist um vier Ziele organisiert:

  1. Identifizieren von phpMyAdmin-Installationen und Sammeln versionsbezogener Indikatoren.

  2. Validieren vermuteter Exposition mithilfe kontrollierter, möglichst nicht-destruktiver Prüfungen.

  3. Bewerten autorisierter Ziele mithilfe konfigurierbarer Grenzwerte, Wiederholungsverhalten und optionaler Proxy-Nutzung.

  4. Berichten von Ergebnissen in Formaten, die leicht zu überprüfen, zu archivieren und in Arbeitsabläufe zu integrieren sind.

Was dieses Projekt nicht ist

Dieses Projekt ist kein Ersatz für Patchen, Herstelleranweisungen, sichere Konfiguration oder einen formellen Autorisierungsprozess für Penetrationstests. Es garantiert nicht die Erkennung jeder Bereitstellung, Konfiguration, Version oder Netzwerkbedingung. Alle Ergebnisse sollten manuell überprüft und als Bewertungsnachweis behandelt werden, nicht als automatisches Sicherheitsurteil.


Inhalt

  • Überblick

  • Verantwortungsvolle Nutzung

  • Funktionen

  • Bewertungsablauf

  • Anforderungen

  • Installation

  • Verwendung

  • Betriebsmodi

  • Befehlszeilenoptionen

  • Konfiguration

  • Berichte

  • Architektur

  • Fehlerbehebung

  • Behebungsanleitung

  • Entwicklung

  • Mitwirken

  • Änderungsprotokoll

  • Lizenz

  • Danksagungen

  • Kontakt und Support

  • Referenzen


Verantwortungsvolle Nutzung

Autorisierung ist erforderlich

Führen Sie dieses Tool nur gegen ein Asset aus, wenn Sie eine klare Autorisierung vom Asset-Eigentümer haben. Die Autorisierung sollte das Ziel, das zulässige Testfenster, erlaubte Techniken, Quell-IPs, Anforderungen an die Datenverarbeitung, Eskalationskontakte und Abbruchbedingungen definieren.

Testen Sie niemals internetfähige Systeme nur, weil sie erreichbar sind. Erreichbarkeit ist keine Berechtigung.

Datenverarbeitung

Bewertungsmodi können Informationen über Datenbanken, Tabellen, Spalten oder Datensätze erzeugen. Behandeln Sie alle Ausgaben als potenziell sensibel. Speichern Sie Berichte mit geeigneten Zugriffskontrollen, vermeiden Sie Geheimnisse in der Shell-Historie, verschlüsseln Sie Berichte, wenn es Ihre Engagement-Regeln erfordern, und löschen Sie temporäre Daten nach dem Engagement sicher.

Betriebliche Sicherheitsvorkehrungen

Bevor Sie eine Bewertung starten, stellen Sie sicher, dass Sie über ein bekanntes gutes Backup- oder Wiederherstellungsverfahren, einen Kommunikationskanal mit dem Systemeigentümer und einen dokumentierten Rollback- oder Stoppplan verfügen. Bevorzugen Sie nach Möglichkeit eine isolierte Testumgebung. Verwenden Sie den am wenigsten invasiven Modus, der die Bewertungsfrage beantwortet.


Funktionen


Bewertungsablauf

Der empfohlene Arbeitsablauf ist bewusst stufenweise aufgebaut, sodass Prüfer mit der Aktivität mit der geringsten Auswirkung beginnen und den Umfang nur bei Autorisierung erweitern können.``` ┌──────────────────┐ │ Define scope │ Confirm written authorization and test boundaries └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Detect │ Identify phpMyAdmin and collect version indicators └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Verify │ Perform controlled vulnerability checks └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Assess, if │ Continue only when explicitly authorized │ approved │ └────────┬─────────┘ │ ▼ ┌──────────────────┐ │ Report │ Preserve evidence, limits, timestamps, and conclusions └──────────────────┘

root@kitploit:~
Ein positives Ergebnis sollte gegen die Zielversion, den Authentifizierungskontext, die Anfragebelege und den Umfang des Engagements geprüft werden. Ein negatives Ergebnis beweist nicht, dass die Bereitstellung sicher ist; es kann auf Versionsunterschiede, Zugriffskontrollen, Routing, Anwendungsanpassungen, Ratenbegrenzung oder unzureichende Sichtbarkeit zurückzuführen sein.

---

## Anforderungen

### Laufzeitanforderungen

| Anforderung | Unterstützte Basis |
| --- | --- |
| Betriebssystem | Linux, macOS oder Windows |
| Python | 3.6 oder neuer, abhängig von der Kompatibilität der Abhängigkeiten |
| Paketmanager | `pip` |
| Versionskontrolle | Git, bei Installation aus dem Repository |
| Netzwerkzugriff | Konnektivität zu einem ausdrücklich autorisierten Bewertungsziel |

### Python-Abhängigkeiten

Das Projekt erwartet derzeit die folgenden Pakete:```
requests>=2.31.0
rich>=13.7.0
colorama>=0.4.6
dataclasses>=0.6; python_version < "3.7"

Für reproduzierbare Installationen bevorzugen Sie die requirements.txt-Datei des Repositorys gegenüber der individuellen Installation von Paketen.


Installation

Linux und macOS```bash

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit cd phpMyAdmin-CVE-2020-5504-Exploit

python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements.txt

chmod +x start.sh quick.sh exploit.py

root@kitploit:~
Starte die geführte Oberfläche mit:```bash
./start.sh

Windows```

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit Set-Location phpMyAdmin-CVE-2020-5504-Exploit

py -m venv .venv ..venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -r requirements.txt

.\start.bat

root@kitploit:~
Wenn die PowerShell-Ausführungsrichtlinie das Ausführen des Starters verhindert, verwenden Sie den dokumentierten PowerShell-Einstiegspunkt des Repositorys in einer autorisierten Umgebung:```
powershell -ExecutionPolicy Bypass -File .\start.ps1

Manuelle Abhängigkeitsinstallation

Verwenden Sie dies nur, wenn requirements.txt nicht verfügbar ist oder wenn Sie die Abhängigkeiten absichtlich selbst verwalten:```bash python -m pip install "requests>=2.31.0" "rich>=13.7.0" "colorama>=0.4.6"

root@kitploit:~
---

## Verwendung

Die folgenden Beispiele verwenden `https://authorized.example/phpmyadmin` als Platzhalter. Ersetzen Sie ihn nur durch ein Ziel, das ausdrücklich in Ihrem genehmigten Umfang liegt.

### Erkennungsmodus

Der Erkennungsmodus ist der empfohlene Ausgangspunkt. Er dient dazu, die Anwendung zu identifizieren und Versionsindikatoren zu sammeln, ohne einen Exploit zu versuchen.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode detect

Die Kurzform-Flags aus der ursprünglichen Oberfläche werden ebenfalls unterstützt, sofern zutreffend:```bash python exploit.py -u https://authorized.example/phpmyadmin -m detect

root@kitploit:~
### Verifikationsmodus

Der Verifikationsmodus ist für kontrollierte Schwachstellentests vorgesehen. Verwenden Sie ihn nur, wenn der Auftrag ausdrücklich Validierungsaktivitäten erlaubt und die erforderlichen Anmeldedaten über eine genehmigte Methode bereitgestellt wurden.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode verify \
  --username "$PMADB_USERNAME" \
  --password "$PMADB_PASSWORD"

Vermeiden Sie es, echte Passwörter direkt in Befehlen zu platzieren, da Befehlszeilen im Shell-Verlauf gespeichert oder durch lokale Prozessprüfungen offengelegt werden können.

Forschungsmodus

Der Forschungsmodus kann umfassendere autorisierte Bewertungsaktivitäten und Datenerfassung durchführen. Er sollte auf dedizierte Testumgebungen oder Engagements mit ausdrücklicher schriftlicher Genehmigung für den angeforderten Umfang beschränkt werden.```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode research
--username "$PMADB_USERNAME"
--password "$PMADB_PASSWORD"
--max-databases 20
--max-tables 50

root@kitploit:~
### Trockenlauf-Modus

Der Trockenlauf-Modus ist nützlich, um die Befehlskonstruktion zu validieren, das Workflow-Verhalten zu überprüfen und die Konfiguration zu testen, ohne invasive Aktionen durchzuführen.```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --dry-run

Proxy-gestützte Bewertung

Leiten Sie den Datenverkehr durch einen autorisierten Abfang-Proxy, wenn Sie während eines Tests Anfragen und Antworten untersuchen müssen:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode verify
--proxy http://127.0.0.1:8080

root@kitploit:~
Nutzen Sie einen Proxy nur, wenn dies durch die Regeln des Auftrags erlaubt ist und er so konfiguriert ist, dass keine unnötigen sensiblen Daten erfasst oder gespeichert werden.

### Gezielte Datenbankbewertung

Wenn das Scope-Dokument eine bestimmte Datenbank identifiziert, beschränken Sie die Bewertung auf diese Datenbank, sofern die Implementierung dies unterstützt:```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode research \
  --database target_database \
  --max-tables 25

Ausführliche Diagnose

Aktivieren Sie die ausführliche Ausgabe, wenn Sie eine fehlgeschlagene Verbindung, eine unerwartete Antwort oder ein Konfigurationsproblem untersuchen:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode verify
--verbose

root@kitploit:~
### Interaktive Oberfläche

Der interaktive Launcher wird Erstbenutzern empfohlen, da er geführte Eingabeaufforderungen, Modusauswahl, Fortschrittsanzeigen und farbcodierte Statusausgaben bietet.```bash
# Linux/macOS
./start.sh

# Windows
start.bat

Betriebsmodi

Die Modusnamen beschreiben den beabsichtigten Workflow, keine Garantie für das Verhalten unter jeder Konfiguration. Überprüfen Sie die Implementierung und die Engagement-Regeln, bevor Sie einen Modus gegen ein Live-System verwenden.


Befehlszeilenoptionen

Die folgenden Optionen werden durch die aktuelle Projektschnittstelle repräsentiert. Führen Sie python exploit.py --help aus, um die genauen Optionsnamen in Ihrem Checkout zu bestätigen.

Wichtig: Das Deaktivieren der TLS-Zertifikatsprüfung schwächt die Transportsicherheit und sollte auf kontrollierte Testbedingungen beschränkt bleiben. Behandeln Sie dies niemals als Produktionslösung.


Konfiguration

Umgebungsvariablen

Das Tool kann standardmäßige Proxy-Variablen verwenden, wenn der Datenverkehr über einen genehmigten Proxy geleitet werden muss:```bash export HTTP_PROXY=http://127.0.0.1:8080 export HTTPS_PROXY=http://127.0.0.1:8080

root@kitploit:~
Speichere keine Zugangsdaten in einer eingecheckten `.env`-Datei. Wenn Umgebungsvariablen für Test-Zugangsdaten verwendet werden, schütze die Shell-Sitzung und lösche sie nach dem Einsatz:```bash
export PMADB_USERNAME='authorized-test-user'
export PMADB_PASSWORD='use-an-approved-secret-source'

# Remove them when finished
unset PMADB_USERNAME PMADB_PASSWORD

YAML-Konfiguration

Erstelle config.yaml für dauerhafte, nicht geheime Bewertungseinstellungen:```yaml scan: timeout: 10 retries: 3 max_databases: 50 max_tables: 100 max_columns: 50 max_rows: 100 delay_between_requests: 0.5

report: format: json output: report.json include_sensitive: false

root@kitploit:~
Bewahre Anmeldedaten aus dieser Datei fern, es sei denn, die Datei ist durch den von deiner Organisation genehmigten Prozess zur Verwaltung geheimer Daten geschützt. Füge lokale Konfigurationsdateien mit sensiblen Werten zu `.gitignore` hinzu.

---

## Berichte

Das Framework unterstützt JSON-, HTML- und TXT-Ausgabe. Wähle das Format, das den Zielgruppen- und Aufbewahrungsanforderungen des Engagements entspricht.

### JSON-Bericht

JSON eignet sich für Automatisierung, Archivierung und die Aufnahme in Bewertungspipelines. Eine repräsentative Berichtsstruktur ist unten dargestellt; die genauen Felder können je nach Version und Modus variieren.```json
{
  "scan_info": {
    "target": "https://authorized.example/phpmyadmin",
    "timestamp": "2024-01-15T10:30:00Z",
    "mode": "verify",
    "scanner": "CVE-2020-5504 Security Assessment Tool v1.2",
    "author": "Sudeepa Wanigarathna"
  },
  "fingerprint": {
    "is_phpmyadmin": true,
    "version": "5.0.0",
    "confidence": "CONFIRMED"
  },
  "verification": {
    "vulnerable": true,
    "confidence": "CONFIRMED",
    "status": "VULNERABLE_CONFIRMED"
  },
  "authentication": {
    "authenticated": true,
    "user": "authorized-test-user",
    "score": 8
  },
  "extracted_data": {
    "databases": ["information_schema", "mysql", "test"]
  }
}

HTML-Bericht

Die HTML-Ausgabe ist für die menschliche Überprüfung gedacht. Sie kann gestaltete Abschnitte, Statusindikatoren, Beweisübersichten, Metadaten und druckbare Layouts enthalten. Speichern Sie generierte Berichte an einem zugriffskontrollierten Ort.

TXT-Bericht

Die TXT-Ausgabe ist nützlich für die Terminalüberprüfung, Protokollerfassung, Ticket-Anhänge und Umgebungen, in denen umfangreiche Formatierung nicht erwünscht ist.

Checkliste zur Berichtsbehandlung

Bevor Sie einen Bericht teilen, bestätigen Sie, dass er nur Informationen enthält, die durch das Engagement gestattet sind. Überprüfen Sie URLs, Benutzernamen, Datenbanknamen, Datensatzwerte, Cookies, Tokens, Anfrage-Header und Debug-Ausgaben auf Geheimnisse oder personenbezogene Daten. Schwärzen oder entfernen Sie sensible Inhalte, wenn sie nicht zur Untermauerung des Befunds erforderlich sind.


Architektur

Das Projekt ist als eine stufenweise Bewertungspipeline organisiert:``` Target │ ├── Fingerprinting │ ├── Version detection │ └── Path discovery │ ├── Vulnerability checks │ ├── Controlled verification │ └── Confidence analysis │ ├── Authentication │ ├── CSRF token extraction │ ├── Multi-signal validation │ └── Session management │ ├── Authorized assessment │ ├── Database enumeration │ ├── Table extraction │ └── Scoped data requests │ └── Reporting ├── JSON ├── HTML └── TXT

root@kitploit:~
### Antwortanalyse-Ebene

Die Antwortanalyse-Ebene zentralisiert die Interpretation von HTTP-Antworten und dem Anwendungsverhalten. Die folgende konzeptionelle Schnittstelle veranschaulicht die vorgesehenen Zuständigkeiten:```
ResponseAnalyzer
 ├── status_code( )
 ├── content_type()
 ├── authenticated()
 ├── error_detected()
 ├── verification_result()
 └── extract_metadata()

Centralizing these checks helps keep the fingerprinting, authentication, verification, and reporting stages consistent.

Authentication flow```

Login request │ ▼ CSRF token extraction │ ▼ Login submission │ ▼ Cookie and session validation │ ▼ Authenticated-page access test │ ▼ Expected-content verification │ ▼ Authenticated result

root@kitploit:~
## Fehlerbehebung

### SSL-Zertifikatsfehler

Wenn eine kontrollierte Testumgebung ein internes oder selbstsigniertes Zertifikat verwendet, nutzen Sie die TLS-Option des Projekts nur, wenn das Risiko verstanden wird und der Auftrag dies zulässt:```bash
python exploit.py \
  --url https://authorized.example/phpmyadmin \
  --mode detect \
  --no-verify-ssl

Die bevorzugte Lösung besteht darin, die Zertifikatskette oder die Vertrauenskonfiguration zu korrigieren, anstatt die Verifizierung zu deaktivieren.

Verbindungs-Timeouts

Erhöhen Sie das Timeout erst, nachdem Sie Routing, DNS, Proxy-Konfiguration und die Verfügbarkeit des Ziels geprüft haben:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode detect
--timeout 30

root@kitploit:~
Verwende konservative Anfrageraten und Verzögerungen, um unnötige Last auf das Ziel zu vermeiden.

### Authentifizierungsfehler

Bestätige, dass das Testkonto gültig ist, dass das Konto auf das Ziel zugreifen darf und dass die angegebene URL auf die korrekte phpMyAdmin-Installation verweist. Überprüfe die ausführliche Ausgabe auf CSRF-, Cookie-, Redirect- und Content-Type-Indikatoren, ohne Anmeldedaten oder Sitzungswerte weiterzugeben.

### Fehlendes `rich`-Paket

Installiere die Abhängigkeiten des Projekts innerhalb der aktiven virtuellen Umgebung:```bash
python -m pip install -r requirements.txt

Wenn von der aktuellen Version unterstützt, deaktiviere die erweiterte Formatierung für eine minimale Terminal-Erfahrung:```bash python exploit.py
--url https://authorized.example/phpmyadmin
--mode detect
--no-rich

root@kitploit:~
### Berechtigungsfehler unter Linux oder macOS

Machen Sie den Launcher ausführbar:```bash
chmod +x start.sh exploit.py

Unerwartete Ergebnisse

Behandeln Sie unerwartete Ergebnisse als Grund, anzuhalten und zu untersuchen. Prüfen Sie die Zielversion, das Verhalten des Reverse-Proxys, den Authentifizierungsstatus, die Anfrage-/Antwort-Beweise, konfigurierte Limits, das Wiederholungsverhalten und ob eine andere Sicherheitskontrolle die Antwort verändert hat. Führen Sie einen Modus mit hoher Auswirkung nicht wiederholt erneut aus, nur um ein bevorzugtes Ergebnis zu erzielen.


Behebungsanleitung

Die maßgebliche phpMyAdmin-Sicherheitsempfehlung rät, betroffene Installationen wie folgt zu aktualisieren:[1]

Betroffene LinieBetroffene VersionenEmpfohlene Maßnahme
phpMyAdmin 4.xVor 4.9.4Upgrade auf 4.9.4 oder neuer.
phpMyAdmin 5.x5.0.0Upgrade auf 5.0.1 oder neuer.

Organisationen sollten außerdem die MySQL-Kontoberechtigungen überprüfen, administrative Schnittstellen einschränken, eine starke Authentifizierung durchsetzen, die Netzwerkexposition begrenzen, administrative Aktivitäten überwachen und die aktuellen Veröffentlichungs- und Sicherheitshinweise des Anbieters befolgen. Diese Maßnahmen ergänzen das Patchen; sie ersetzen es nicht.

Nach der Behebung wiederholen Sie die Validierung in einer genehmigten Umgebung und bewahren Sie Beweise auf, die die installierte Version, den Bereitstellungspfad, das Testdatum und das Ergebnis zeigen. Vermeiden Sie Tests an Produktionssystemen, es sei denn, die Autorisierung umfasst ausdrücklich die Verifizierung nach der Behebung.


Entwicklung

Lokale Einrichtung```bash

git clone https://github.com/CerberusMrXi/phpMyAdmin-CVE-2020-5504-Exploit cd phpMyAdmin-CVE-2020-5504-Exploit

python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements-dev.txt

root@kitploit:~
On Windows, aktivieren Sie die Umgebung mit:```
.\.venv\Scripts\Activate.ps1

Tests```bash

python -m pytest tests/

root@kitploit:~
### Erwartungen an die Codequalität

Beiträge sollten PEP 8 befolgen, wo sinnvoll Typannotationen verwenden, beschreibende Docstrings enthalten, eine klare Fehlerbehandlung bewahren und vermeiden, Anmeldedaten, Cookies, Tokens oder unnötige extrahierte Daten zu protokollieren. Änderungen, die den Bewertungsumfang, das Anfrageverhalten, die Authentifizierung oder die Berichterstattung betreffen, sollten Tests und Dokumentationsaktualisierungen umfassen.

### Vorgeschlagene Repository-Struktur```
.
├── exploit.py
├── requirements.txt
├── requirements-dev.txt
├── config.yaml.example
├── start.sh
├── start.bat
├── start.ps1
├── tests/
├── docs/
│   └── images/
└── reports/

Übertrage keine generierten Berichte, Anmeldedaten, Sitzungsartefakte oder zielspezifische Daten. Füge sie bei Bedarf zur .gitignore hinzu.


Mitwirken

Beiträge sind willkommen, wenn sie die Zuverlässigkeit, Dokumentation, Testabdeckung, Barrierefreiheit oder sichere Bewertungsabläufe verbessern.

  1. Forke das Repository.

  2. Erstelle einen fokussierten Branch, z. B. feature/improved-fingerprint-parser.

  3. Nimm die kleinste kohärente Änderung vor, die das Problem löst.

  4. Füge Tests und Dokumentation hinzu oder aktualisiere sie.

  5. Führe die Testsuite lokal aus.

  6. Committe mit einer klaren Nachricht.

  7. Pushe den Branch und öffne einen Pull Request, der die Änderung, die durchgeführten Tests sowie alle Sicherheits- oder Kompatibilitätsauswirkungen beschreibt.```bash git checkout -b feature/improved-fingerprint-parser git add . git commit -m "Improve fingerprint result handling" git push origin feature/improved-fingerprint-parser

root@kitploit:~
Bitte reichen Sie keine Änderungen ein, die nicht autorisierte Ziele hinzufügen, Schutzmaßnahmen schwächen, echte Anmeldedaten offenlegen, Live-Systemdaten enthalten oder Tests außerhalb eines dokumentierten Umfangs fördern.

---

## Änderungsprotokoll

### Version 1.2

- Fehler im `FingerprintResult`-Detailattribut behoben.

- Fallback-Pfad hinzugefügt, wenn die Rich-Terminalformatierung nicht verfügbar ist.

- Muster zur Versionserkennung verbessert.

- Fehlerbehandlung im gesamten Workflow gestärkt.

- TLS-Verifizierungssteuerung für kontrollierte Tests hinzugefügt.

- Plattformübergreifende Kompatibilität verbessert.

### Version 1.1

- Dediziertes Fingerprinting-Modul hinzugefügt.

- Sicheren Verifizierungsmodus implementiert.

- Multi-Signal-Authentifizierungsvalidierung hinzugefügt.

- Umfassende Berichtserstellung hinzugefügt.

- Rich-Terminaloberfläche integriert.

### Version 1.0

- Erstveröffentlichung.

- Grundlegende SQL-Injection-Bewertungsfunktion hinzugefügt.

- Datenbank-Enumeration hinzugefügt.

- JSON-Ausgabe hinzugefügt.

---

## Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Den vollständigen Text finden Sie in der Datei [LICENSE](https://github.com/cerberusmrxi/phpmyadmin-cve-2020-5504-exploit/blob/HEAD/LICENSE).```
MIT License

Copyright (c) 2024 Sudeepa Wanigarathna

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

Die Software wird ohne Gewährleistung bereitgestellt. Lesen Sie die vollständige LICENSE-Datei, bevor Sie das Projekt weiterverteilen.


Danksagungen

Dieses Projekt dankt dem phpMyAdmin-Team für seinen Sicherheitshinweis und die Patches, den Forschern, die die Schwachstelle gemeldet haben, sowie den Open-Source-Maintainern hinter den Bibliotheken, die vom Framework verwendet werden.


Kontakt und Support

KanalLink
AutorSudeepa Wanigarathna
GitHub-Profil@sudeepawanigarathna

Für Schwachstellenmeldungen zu diesem Projekt vermeiden Sie es, vertrauliche Details öffentlich zu posten. Nutzen Sie einen privaten Sicherheitskontakt oder den dokumentierten Sicherheitsmelde-Prozess des Repositorys, sobald dieser eingerichtet ist.


Referenzen

https://www.phpmyadmin.net/security/PMASA-2020-1/ "phpMyAdmin PMASA-2020-1 Sicherheitshinweis"

https://nvd.nist.gov/vuln/detail/CVE-2020-5504 "NIST National Vulnerability Database: CVE-2020-5504"


Sicherheit durch verantwortungsvolle Offenlegung.

Zurück nach oben

Tool herunterladen
BereichFähigkeitBeschreibung
ErkennungAutomatisches FingerprintingIdentifiziert wahrscheinliche phpMyAdmin-Bereitstellungen und sammelt Versionsindikatoren.
ValidierungSchwachstellenverifizierungFührt kontrollierte Prüfungen mit konfidenzorientierter Ergebnisbehandlung durch.
ArbeitsablaufMehrere BetriebsmodiUnterstützt Erkennungs-, Verifizierungs-, Forschungs- und Trockenlauf-Workflows.
SitzungsverwaltungCSRF-Token-VerwaltungExtrahiert und verwaltet CSRF-bezogene Werte, die für den Anwendungsablauf erforderlich sind.
AuthentifizierungMulti-Signal-ValidierungVerwendet mehrere Indikatoren, um falsche Authentifizierungsergebnisse zu reduzieren.
BewertungDatenbank-EnumerationUnterstützt autorisierte Enumeration von Datenbanken, Tabellen, Spalten und ausgewählten Daten.
Injection-ForschungBlind-TechnikenUnterstützt boolesche und zeitbasierte Forschungsabläufe, wo durch die Implementierung aktiviert.
BerichterstattungJSON, HTML und TXTErzeugt strukturierte, gestaltete und Klartext-Ausgaben für verschiedene Zielgruppen.
ZuverlässigkeitWiederholungen und BackoffWiederholt vorübergehende Anfragen mit konfigurierbarem Verhalten.
IntegrationenProxy-UnterstützungKann mit Burp Suite oder einem anderen HTTP-Interception-Proxy verwendet werden.
BenutzerfreundlichkeitReiche TerminaloberflächeBietet farbcodierte Ausgaben, Fortschrittsanzeigen und lesbare Statusmeldungen.
DiagnoseAusführliche ProtokollierungStellt zusätzliche Diagnoseinformationen für autorisierte Fehlerbehebung bereit.
ModusZweckErwartete AuswirkungEmpfohlene Verwendung
detectDie Anwendung identifizieren und Versionsindikatoren ermitteln.Keine oder minimalErste Aufklärung im genehmigten Umfang.
verifyTesten, ob das Ziel mit kontrollierten Prüfungen verwundbar erscheint.GeringBestätigung während einer autorisierten Bewertung.
researchBreitere Bewertung und autorisierte Enumeration durchführen.HochDedizierte Labore oder Engagements mit ausdrücklicher Genehmigung.
dry-runWorkflow-Verhalten simulieren, ohne invasive Aktionen durchzuführen.KeineKonfigurations- und Befehlsvalidierung.
OptionBeschreibungBeispiel
-u, --urlAutorisierte phpMyAdmin-Basis-URL.--url https://authorized.example/phpmyadmin
-m, --modeWählt detect, verify oder research.--mode verify
--dry-runSimuliert den Workflow ohne invasive Aktionen.--dry-run
--usernameBenutzername für ein genehmigtes Testkonto.--username "$PMADB_USERNAME"
--passwordPasswort für ein genehmigtes Testkonto.--password "$PMADB_PASSWORD"
-p, --proxyHTTP-Proxy-URL.--proxy http://127.0.0.1:8080
-f, --formatBerichtsformat wie json, html oder txt.--format html
-o, --outputPfad der Ausgabedatei.--output report.html
-d, --databaseBegrenzt die Aktivität auf eine benannte Datenbank, wo unterstützt.--database target_database
-t, --timeoutRequest-Timeout in Sekunden.--timeout 30
--max-databasesMaximale Anzahl zu enumerierender Datenbanken.--max-databases 20
--max-tablesMaximale Anzahl zu enumerierender Tabellen.--max-tables 50
--max-columnsMaximale Anzahl zu enumerierender Spalten.--max-columns 50
--max-rowsMaximale Anzahl anzufordernder Zeilen, wo unterstützt.--max-rows 100
-v, --verboseAktiviert Diagnoseausgabe.--verbose
--no-verify-sslDeaktiviert die TLS-Zertifikatsprüfung nur für kontrollierte Tests.--no-verify-ssl
--no-richDeaktiviert die Rich-Terminalformatierung.--no-rich
Issue-TrackerRepository-Issues
E-Mail[email protected]