Host Virtual do Tomcat para impedir o ataque de Manipulação de Entrada Inadequada

2

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 &quot;%r&quot; %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

    
por Charles.C 18.05.2017 / 19:37

1 resposta

1

Oh, bem, acabe respondendo a minha própria pergunta.

Depois de entrar na lista de usuários do Tomcat (inscreva-se no endereço de e-mail: [email protected]). Tem o cara chamado Andre que me ajudou a resolver isso:

basicamente o que eu fiz de errado está faltando appBase no meu defaultlocalhost

  <Host name="defaultlocalhost" appbase="whatever" >

  </Host>

A configuração acima retornou com sucesso o status 404 sempre que um pedido ilegal foi enviado. O motivo é que sempre que você não definir o appbase , ele sempre será padronizado como webapps , de modo que, essencialmente, ele não fez nada com a configuração original.

Espero que isso possa ajudar qualquer pessoa que tenha problema semelhante.

    
por 23.05.2017 / 17:08