NetGuard

Vulnerabilidade de Upload de Arquivos

A vulnerabilidade de upload de arquivos ocorre quando uma aplicação permite que usuários façam upload de arquivos sem a devida verificação de segurança. Hackers podem explorar essa vulnerabilidade para fazer upload de arquivos maliciosos, como scripts que podem ser executados no servidor, comprometendo a segurança da aplicação.

Riscos

Como os Hackers Executam o Ataque

Os hackers normalmente seguem estes passos para explorar uma vulnerabilidade de upload de arquivos:

  1. Identificam um formulário de upload que não verifica adequadamente o tipo de arquivo.
  2. Fazem upload de um arquivo malicioso, como um script PHP ou shell.
  3. Accedem o arquivo malicioso via URL para executar comandos no servidor.

Exemplo de Código Vulnerável

<?php
if(isset($_FILES['file'])) {
    $file = $_FILES['file'];
    move_uploaded_file($file['tmp_name'], 'uploads/' . $file['name']);
    echo "Arquivo enviado com sucesso!";
}
?>

O código acima permite o upload de qualquer arquivo sem verificar seu tipo, permitindo que arquivos maliciosos sejam enviados.

Exemplo de Código Seguro

<?php
if(isset($_FILES['file'])) {
    $file = $_FILES['file'];
    $allowedTypes = ['image/jpeg', 'image/png', 'application/pdf'];
    if(in_array($file['type'], $allowedTypes)) {
        move_uploaded_file($file['tmp_name'], 'uploads/' . basename($file['name']));
        echo "Arquivo enviado com sucesso!";
    } else {
        echo "Tipo de arquivo não permitido!";
    }
}
?>

O código acima verifica o tipo de arquivo antes de fazer o upload, permitindo apenas tipos específicos.

Boas Práticas

Más Práticas

Gostaria de testar seu conhecimento sobre o assunto

Clique aqui para iniciar o Quiz