NT-2026.10.05 DOSSIÊ

BURP SUITE: RFI NO MUTILLIDAE II VIA MANIPULAÇÃO DE PARÂMETRO GET

Walkthrough técnico de Remote File Inclusion (RFI) no Mutillidae II usando Burp Suite — interceptação de GET page=login.php, manipulação para page=o alvo RFI, e deface do site via inclusão remota.

Capa editorial Burp Suite: RFI no Mutillidae II — interceptação de GET page=login.php, manipulação para RFI, deface

Introdução: RFI e Validação de Input

Remote File Inclusion (RFI) é um ataque em aplicação web que visa vulnerabilidades quando a aplicação referencia um recurso ou script externo. A aplicação web é desenhada para chamar scripts e recursos externos que melhoram usabilidade e estética. Quando fazem isso, podem tornar-se vulneráveis a chamar recursos de fora, dando ao atacante a oportunidade de incluir shellcode para controlar a aplicação ou recursos para deface ou modificar o site. RFI ocorre devido à validação inadequada de inputs. Se a aplicação sanitiza inputs ou restringe entradas, RFI torna-se impossível ou mais difícil. Neste tutorial, usaremos Burp Suite contra o Mutillidae II para deface do site.

Diagrama conceitual de RFI - inclusão remota de arquivo via parâmetro vulnerável
Figura 1. Conceito de Remote File Inclusion: aplicação inclui recurso externo via parâmetro não validado.

Ambiente: Kali Linux, OWASP BWA e Mutillidae II

Abra a aplicação Mutillidae II no OWASP BWA com seu navegador no Kali Linux. O OWASP Broken Web App (BWA) inclui várias aplicações vulneráveis intencionalmente, incluindo o Mutillidae II.

Ambiente Kali Linux com OWASP BWA e Mutillidae II
Figura 2b. Ambiente Kali Linux com OWASP BWA e Mutillidae II configurado.

Configuração do Burp Suite e Proxy

Inicie o Burp Suite e habilite a interceptação no proxy. Configure o proxy no navegador para usar o Burp Suite. Faça login no Mutillidae II com a interceptação ativada no proxy do Burp Suite.

Configuração do proxy Burp Suite para interceptação de tráfego
Figura 2. Burp Suite configurado para interceptar requisições e respostas do navegador.
Login no Mutillidae II com interceptação ativada no Burp Suite
Figura 4. Login no Mutillidae II com interceptação do Burp Suite ativada.

Análise do Parâmetro page=login.php no Histórico HTTP

No histórico HTTP do Burp Suite, você pode ver a página de login. Note que a requisição GET contém o parâmetro page=login.php. Podemos manipular essa requisição para fazer upload de shellcode para controlar o site ou outros recursos para manipular o site web. O que aconteceria se manipulássemos essa requisição para incluir outro recurso, como uma URL externa?

Requisição GET interceptada mostrando parâmetro page=login.php
Figura 5. Requisição GET interceptada: parâmetro page=login.php identificado no Burp Suite.
Histórico HTTP do Burp Suite mostrando requisição GET page=login.php
Figura 3. Histórico HTTP do Burp Suite: parâmetro page=login.php identificado como vetor de RFI.

Manipulação do Parâmetro GET para RFI

Com a interceptação LIGADA no Burp Suite, vamos tentar fazer login novamente. Com a requisição GET no nosso proxy, vamos substituir login.php pela URL do nosso site favorito de treinamento em cibersegurança, o alvo RFI (o alvo RFI). Ao encaminhar a requisição, o site Mutillidae II agora exibe o site o alvo RFI (o alvo RFI) e NÃO a tela de login.php! Conseguimos hackear o site com RFI com sucesso!

Manipulação do parâmetro page=login.php para page=o alvo RFI
Figura 6. Manipulação do parâmetro GET: page=login.php alterado para page=o alvo RFI.

Execução do RFI e Deface do Site

Ao encaminhar a requisição modificada, o site Mutillidae II agora exibe o site o alvo RFI (o alvo RFI) e NÃO a tela de login.php. Conseguimos hackear o site com RFI com sucesso! O parâmetro page de Mutillidae II não inclui validação de dados adequada que permitiria apenas recursos legítimos serem incluídos. Como resultado, fomos capazes de fornecer parâmetros ou recursos que nos permitiram exibir conteúdos que não deveriam ser permitidos.

Site Mutillidae II exibindo o alvo RFI via RFI bem-sucedido
Figura 7. Site Mutillidae II exibindo o alvo RFI após RFI bem-sucedido — deface via inclusão remota.

Conclusão: Importância de Validação Server-Side e Whitelist

O parâmetro page do Mutillidae II não inclui validação de dados adequada que permitiria apenas recursos legítimos serem incluídos. Como resultado, fomos capazes de fornecer parâmetros ou recursos que nos permitiram exibir conteúdos que não deveriam ser permitidos. Se a aplicação web incluísse whitelists de recursos permitidos ou validação de dados, esse tipo de ataque web seria impedido. Validação server-side rigorosa, whitelist de recursos permitidos, e configuração segura do servidor (allow_url_include=Off) são indispensáveis para prevenir RFI.