2017-05-18 47 views
8

Jestem obecnie w trakcie próby naprawienia luki w witrynie, zasadniczo jest to jeden z rodzajów ataku "Niewłaściwe wprowadzanie danych wejściowych".Host wirtualny Tomcat zapobiegający atakowi niewłaściwego wprowadzania danych

Powiedzmy moja strona jest www.mywebsite.com i istnieje strona hakera www.hacker.com

ilekroć jest wniosek wysłać do www.mywebsite.com z zmodyfikowany " Host "nagłówek wskazuje na www.hacker.com, moja strona utworzy przekierowanie do www.mywebsite.com wraz z jakimkolwiek adresem URL. np.

Normalny:

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 

Moja strona internetowa jest uruchomiona na Tomcat 7, próbowałem jakieś rozwiązanie skonfigurować wirtualnego hosta przez punkt nieznanego gospodarzem defaultlocalhost który przypuszczam nic nie robić. ale nadal wysyła przekierowanie z jakiegoś powodu.

Tutaj dołączony jest mój configure server.xml host:

<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> 

Więc moje pytanie brzmi, czy jestem na dobrej drodze, aby zapobiec tego rodzaju ataku? Jeśli tak, to co zrobiłem źle, które wciąż nie działa? (Ostatecznym celem jest, jeśli nie jest to poprawny Host, który został przekazany, żądanie powinno zostać odrzucone/zignorowane/zwrócone 404, ale nie przekierowywać z 302)

Z góry dziękuję.

Więcej wzmianki o ataku tutaj: http://www.skeletonscribe.net/2013/05/practical-http-host-header-attacks.html

http://projects.webappsec.org/w/page/13246933/Improper%20Input%20Handling

Odpowiedz

0

No cóż, koniec się odpowiedzieć na moje własne pytanie.

Po dołączeniu do listy adresowej użytkownika Tomcat (subskrybuj adres e-mail: [email protected]). Jest facet o imieniu Andre pomógł mi dostać to rozwiązane:

zasadzie to, co zrobiłem źle brakuje appBase w moim defaultlocalhost

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

    </Host> 

Powyższy skonfigurowania powodzeniem powrócił 404 statusu ilekroć nielegalne wniosek został już wysłany. Powodem jest to, że gdy nie ustawisz appbase zawsze domyślnie jest webapps, więc zasadniczo nic nie zrobił z moim oryginalnym konfiguratorem.

Mam nadzieję, że pomoże to każdemu, kto miał podobny problem.