desenv-web-rp.com

Solicitação de eco de 404 páginas URI - risco de segurança?

Acabei de notar que a página 404 padrão em uma das minhas contas de hospedagem exibe o URI solicitado.

<!--#echo var="REQUEST_URI" -->

Lembro-me fracamente de ouvir ou ler que essa é uma vulnerabilidade potencial de algum tipo. No entanto, é difícil acreditar que um provedor de hospedagem inclua isso em sua página 404 padrão, se fosse. Então, isso é uma vulnerabilidade ou não?

5
BenV

O eco do URI com falha pode ativar um ataque XSS (depende do seu site), pois a URL pode ser construída para que um pedaço de JavaScript seja injetado e executado no seu site. Como tal, esse JavaScript injetado teria acesso aos cookies dos usuários e, se ele estivesse logado, poderia ser usado para obter suas informações privadas em seu sistema.

Desde que o URI seja higienizado (não é permitido incluir <ou> por exemplo), isso deve ser bom.

Você pode testar isso com o seguinte URI:

/doesnotexist/"--><script language="javascript">alert("hello world")</script>

Pode ser necessário algum ajuste para funcionar (supondo que possa ser feito para funcionar)

6
Kris

No entanto, é difícil acreditar que um provedor de hospedagem inclua isso em sua página 404 padrão, se for

Não tenha tanta certeza - eu estava com um host muito respeitável (ou assim eu pensava) que foi hackeado devido a uma vulnerabilidade sem patch e todos os sites no host foram excluídos pelo hacker. A resposta deles - volte para o último backup (72 horas) e espero que ninguém perceba.

Dito isto, houve 404 ataques XSS no passado, mas eles geralmente afetam apenas um único pedaço de software, não um sistema inteiro. Não sei como a inclusão do URI afetaria esse ataque.

A ÚNICA coisa em que consigo pensar é se o seu host é realmente ruim e solicitei /gimma404.html?'); DELETE * FROM Users; -- e, de alguma forma, o RequestURI foi registrado em um banco de dados e não escapou, então você pode ter um SQL Ataque de injeção.

1
Mark Henderson

Desde que o REQUEST_URI seja codificado em HTML, não há absolutamente nenhum risco em exibi-lo.

De fato, geralmente é uma boa prática se a página 404 redirecionar para mostrar o URL da solicitação original, para que o usuário possa ver exatamente o que inseriu. Isso os ajuda a ver se eles cometeram um erro de digitação óbvio. Esta é a razão pela qual tantas páginas 404 padrão mostram isso - isso ajuda o usuário.

1
Dan Diplo

Qualquer informação que você não queira que as pessoas vejam é um risco à segurança, meu conselho seria nunca usar o 404 padrão, além de parecerem feias e fornecerem muito pouca funcionalidade, mas podem causar, como você pede, problemas de segurança.

Dê uma olhada neste site - http://www.smashingmagazine.com/2007/08/17/404-error-pages-reloaded/ para obter idéias sobre o que você poderia fazer com um 404.

0
Toby