Atualmente, estou no processo de tentar corrigir uma vulnerabilidade de site, basicamente, é um tipo do ataque "Manipulação de entrada imprópria".
Digamos que meu site seja www.mywebsite.com
e há o site do hacker www.hacker.com
sempre que houver uma solicitação, envie para www.mywebsite.com com o ponto de cabeçalho " Host
" modificado para www.hacker.com , meu site criará um redirecionar para www.mywebsite.com junto com qualquer URL que tenha sido.
por exemplo,
Normal:
Host: www.mywebsite.com
GET www.mywebsite.com/get/some/resources/
Reponse 200 ok
Hack:
Host: www.hacker.com (#been manually modified)
GET www.mywebsite.com/get/some/resources/
Response 302
Send another Redirect to www.hacker.com/get/some/resources
Meu site está rodando no Tomcat 7, eu tentei alguma solução com configurar o host virtual por apontar o host desconhecido para um defaultlocalhost
que supostamente não faria nada. mas ainda envia o redirecionamento por algum motivo.
Aqui está anexado o meu server.xml
host configure:
<Engine name="Catalina" defaultHost="defaultlocalhost" jvmRoute="jvm1">
<Host name="www.mywebsite.com" appBase="webapps"
unpackWARs="true" autoDeploy="false" deployOnStartup="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="defaultlocalhost" >
</Host>
Então, minha pergunta é: estou no caminho certo para evitar esse tipo de ataque? Se sim, o que fiz de errado que ainda não funciona? (O objetivo final é, se não for o legítimo Host que foi passado, o pedido deve ser descartado / ignorado / retornar 404, mas não redirecionado com 302 )
Obrigado antecipadamente.
Mais referências sobre o ataque aqui:
link
link