Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
**Este é um resumo das técnicas MySQL/MariaDB/Percona de [https://ibreak.software/2020/06/using-sql-injection-to-perform-ssrf-xspa-attacks/](https://ibreak.software/2020/06/using-sql-injection-to-perform-ssrf-xspa-attacks/)**.
Na exploração da exfiltração de dados SQL Out of Band, a função `LOAD_FILE()` é comumente utilizada para iniciar requisições de rede. No entanto, essa função é limitada pelo sistema operacional em que opera e pelas configurações de inicialização do banco de dados.
A variável global `secure_file_priv`, se não definida, tem como padrão `/var/lib/mysql-files/`, limitando o acesso a arquivos a este diretório, a menos que seja definida como uma string vazia (`""`). Essa alteração requer modificações no arquivo de configuração do banco de dados ou nos parâmetros de inicialização.
Dado que `secure_file_priv` está desativado (`""`), e assumindo que as permissões necessárias de arquivo e `file_priv` são concedidas, arquivos fora do diretório designado podem ser lidos. No entanto, a capacidade dessas funções de fazer chamadas de rede depende fortemente do sistema operacional. Em sistemas Windows, chamadas de rede para caminhos UNC são viáveis devido à compreensão do sistema operacional sobre as convenções de nomenclatura UNC, potencialmente levando à exfiltração de hashes NTLMv2.
Esse método SSRF é limitado à porta TCP 445 e não permite a modificação do número da porta, embora possa ser usado para acessar compartilhamentos com plenos privilégios de leitura e, como demonstrado em pesquisas anteriores, para roubar hashes para exploração adicional.
Bancos de dados MySQL oferecem o uso de Funções Definidas pelo Usuário (UDF) a partir de arquivos de biblioteca externos. Se essas bibliotecas estiverem acessíveis dentro de diretórios específicos ou no `$PATH` do sistema, podem ser invocadas a partir do MySQL.
Essa técnica permite a execução de requisições de rede/HTTP através de uma UDF, desde que várias condições sejam atendidas, incluindo acesso de gravação ao `@@plugin_dir`, `file_priv` definido como `Y`, e `secure_file_priv` desativado.
Por exemplo, a biblioteca `lib_mysqludf_sys` ou outras bibliotecas UDF que permitem requisições HTTP podem ser carregadas para realizar SSRF. As bibliotecas devem ser transferidas para o servidor, o que pode ser alcançado através da codificação em hex ou base64 do conteúdo da biblioteca e, em seguida, escrevendo-o no diretório apropriado.
O processo varia se o `@@plugin_dir` não for gravável, especialmente para versões do MySQL acima de `v5.0.67`. Nesses casos, caminhos alternativos que sejam graváveis devem ser utilizados.
A automação desses processos pode ser facilitada por ferramentas como SQLMap, que suporta injeção de UDF, e para injeções SQL cegas, técnicas de redirecionamento de saída ou de contrabando de requisições DNS podem ser utilizadas.
Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.