O que fazer com um possível ataque ao servidor com “../../[…]../../ETC/PASSWD” em PHP?

1

Estou executando um servidor web (sem root ) hospedado por one.com e uma vez eu codifiquei uma pequena "ferramenta" que faz letras engraçadas de uma entrada de usuário "normal" através do PHP '$ _GET. Este material é tão 2000, mas as pessoas ainda usam isso, então eu mantive on-line.

Tendo medo de ataques no servidor, eu registro toda a entrada que inclui uma quantidade extraordinária de caracteres especiais ou inclui nomes de “pastas do sistema” ou outros comandos * nix - e agora, depois de alguns anos, eu recebi um estranho entrada:

../../../../../../../../../../../../../../../../../ETC/PASSWD

Eu nem teria notado se eu não fizesse o download automaticamente (é um .txt Estou empurrando toda essa entrada para e normalmente exibido diretamente no Chrome, mas desta vez ele começou um download para isso - pode ter algo a ver com o tamanho do arquivo, embora eu tenha exibido .txt muito maior do que no Chrome sem ter que baixá-lo já)

A pergunta é: eu deveria estar preocupado? Isso parece um ataque automatizado? Você recebeu uma entrada semelhante uma vez? Eu entendo o que está dizendo, mas os servidores de hoje são realmente vulneráveis a essa coisa simples? Além disso, por que deveria imprimir o conteúdo do arquivo? Meu script processa a entrada como uma string e, portanto, nenhum arquivo do sistema deve ser lido dessa maneira.

A $_GET URL ( DOMAIN/a.php/?get=test ) está listada no Google. Se fosse um bot pesquisando / experimentando todos os resultados, eu não me sentiria tão preocupado quanto se alguém me dissesse que provavelmente estou sendo alvo de alguns biscoitos.

    
por user2875404 18.08.2015 / 00:48

1 resposta

2

The question is: Should I be worried? Does this look like an automated attack? Have you received similar input once? I get what it’s saying but are today’s servers really vulnerable to this simple thing? Also, why should it print the content of the file then? My script processes the input as a string and therefore no system file should be read this way.

Não se preocupe. Isso não é um ataque, mas um script ou algo que esteja investigando seu servidor. Todos os sites / servidores estão sendo investigados o tempo todo e você não pode - por falta de um termo melhor - tomar esse tipo de coisa pessoalmente de alguma forma ou ficar maluco.

E, nesse caso específico, a procura por /etc/passwd é bastante rudimentar e sem sentido em qualquer sistema que use /etc/shadow para o armazenamento real de senhas. Que é responsável por quase 99,999% de todos os servidores por aí desde 1993, eu acredito.

Eu não ficaria preocupado, mas, digamos, talvez você possa facilitar sua mente codificando seu script PHP para "firewall" em relação ao sistema que está lendo arquivos arbitrários fora do diretório em execução.

Como fazer isso no seu caso? Difícil dizer sem ver o seu código, mas a filosofia geral é pegar qualquer entrada que seja dada e depois limpá-la para atender às suas necessidades de entrada de dados. Qualquer formatação nesses dados que você não precisa é enviada para a lixeira.

Mas, em geral, eu não perderia o sono com coisas assim.

    
por 18.08.2015 / 01:16