Skills Assessment - SQL Injection Fundamentals

Ao visitar o endereço IP fornecido na pergunta você encontra a página de login do site da empresa.

Usei este payload para fazer o bypass de autenticação

' or 1=1 limit 1 -- -+

Após o login bem-sucedido, nos deparamos com a página abaixo:

Precisamos saber se temos privilégios para ler/gravar dados. Vamos começar descobrindo o usuário logado no momento.

Em seguida, verificamos quais privilégios nosso usuário possui:

A resposta é Y, o que confirma que o usuário possui privilégios de superusuário. Estamos especialmente interessados em saber se o usuário possui os privilégios 'FILE' que permitem a leitura e potencial gravação de arquivos no banco de dados.

A variável secure_file_priv pode ser lida no banco de dados INFORMATION_SCHEMA, tabela global_variables, nas colunas nome_da_variável e valor_da_variável. Vamos usar as cláusulas UNION e WHERE para filtrar dados específicos da nossa variável. Comente

O valor da variável está vazio, portanto temos acesso a todo o sistema de arquivos. Vamos tentar gravar um arquivo de texto na raiz da web para verificar as permissões de gravação usando a carga útil:

Desta vez não há erro e podemos confirmar que o arquivo foi gravado visitando http://SERVER_IP:PORT/dashboard/proof.tx

Agora podemos escrever um web shell para nos permitir executar comandos diretamente no servidor back end:

Vamos agora usar a carga útil para pesquisar no sistema de arquivos. Podemos começar imprimindo o diretório de trabalho:

Os resultados de https://IP :PORT/dashboard/shell1.php são /var/www/html/dashboard Comente

Vamos navegar até o diretório raiz com a carga:

Vamos carregar o arquivo para ler seu conteúdo usando o payload:

Last updated