Manipulação e Codificação Básica de URLs
Nesta etapa, você aprenderá como usar o Hackbar para manipulação de URLs e operações de codificação/decodificação, que são habilidades fundamentais para testes de segurança.
Iniciando um Site de Teste
Para fins de prática, configuraremos um site de teste simples. Abra um novo terminal e execute:
mkdir -p ~/project/test-website
cd ~/project/test-website
Agora, crie um arquivo HTML básico com um formulário simples:
cat > index.html << EOF
<!DOCTYPE html>
<html>
<head>
<title>Test Website</title>
</head>
<body>
<h1>Login Form</h1>
<form action="login.php" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
EOF
Vamos iniciar um servidor HTTP simples para hospedar esta página:
python3 -m http.server 8080
Você deve ver uma saída indicando que o servidor está rodando na porta 8080:
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
Acessando o Site de Teste
Abra uma nova janela do Firefox (deixe o servidor rodando no terminal) e navegue para:
http://localhost:8080
Você deve ver um formulário de login simples com campos de nome de usuário e senha.
Usando o Hackbar para Manipular URLs
Agora, vamos usar o Hackbar para manipular a URL:
-
Clique no ícone do Hackbar para abrir o painel do Hackbar.
-
Clique no botão "Carregar URL" para carregar a URL atual no Hackbar.
-
Você deve ver http://localhost:8080 no campo de URL do Hackbar.
-
Tente modificar a URL adicionando um caminho, por exemplo:
- Mude para
http://localhost:8080/index.html
- Clique em "Executar" para enviar a requisição
-
Preencha o formulário de login com credenciais de teste (por exemplo, nome de usuário: "admin", senha: "password") e clique no botão Login.
-
Observe a URL na barra de endereço. Ela deve se parecer com algo assim:
http://localhost:8080/login.php?username=admin&password=password
-
A página provavelmente mostrará um erro "Não Encontrado" porque login.php não existe, mas estamos interessados na estrutura da URL.
-
Abra o Hackbar novamente e clique em "Carregar URL" para carregar esta nova URL.
Manipulação de Parâmetros de URL
Testes de segurança frequentemente envolvem a manipulação de parâmetros de URL:
-
No Hackbar, localize o campo de URL contendo a URL de login.
-
Tente alterar o parâmetro de nome de usuário:
- Mude
username=admin para username=admin'
- Clique em "Executar" para enviar a requisição
Esta simples alteração adiciona um caractere de aspas simples, que é uma técnica comum para testar vulnerabilidades de injeção SQL.
Codificação e Decodificação com Hackbar
O Hackbar oferece várias opções de codificação/decodificação:
-
No Hackbar, clique no menu "Codificação" para ver as opções disponíveis.
-
Tente a codificação de URL:
- Digite algum texto com caracteres especiais no campo de URL, como
test space & special
- Selecione o texto que você deseja codificar
- No menu "Codificação", selecione "Codificar URL"
- O texto selecionado será convertido para o formato codificado por URL
-
Tente a codificação Base64:
- Digite algum texto no campo de URL, como
hackbar test
- Selecione o texto que você deseja codificar
- No menu "Codificação", selecione "Codificar Base64"
- O texto selecionado será convertido para o formato Base64
-
Tente a decodificação:
- Selecione o texto codificado
- No menu "Codificação", selecione a opção de decodificação apropriada (Decodificar URL ou Decodificar Base64)
- O texto será convertido de volta ao seu formato original
Essas funções de codificação/decodificação são essenciais ao testar aplicações web em busca de vulnerabilidades de segurança, pois permitem que você manipule dados em vários formatos.
Parando o Servidor de Teste
Quando você concluir esta etapa, retorne ao terminal onde o servidor HTTP Python está rodando e pressione Ctrl+C para pará-lo.