Ich bin gerade dabei, eine Site-Schwachstelle zu beheben, im Grunde handelt es sich um eine Art des Angriffs "Unsachgemäße Eingabeverarbeitung".
Nehmen wir an, meine Website ist www.mywebsite.com und es gibt Hacker-Website www.hacker.com
Wenn eine Anfrage an www.mywebsite.com gesendet wird und der geänderte Header " Host
" auf www.hacker.com lautet, wird auf meiner Website ein Link erstellt Weiterleiten an www.mywebsite.com zusammen mit der URL, die es war.
z.B.
Normal:
%Vor%Hack:
%Vor% Meine Website läuft auf Tomcat 7. Ich habe versucht, eine Lösung mit dem virtuellen Host einzurichten, indem ich den unbekannten Host auf eine defaultlocalhost
zeige, die nichts tun soll. aber es sendet immer noch die Umleitung aus irgendeinem Grund.
Hier ist mein server.xml
host configure:
Meine Frage ist also: Bin ich auf dem richtigen Weg, um diese Art von Angriff zu verhindern? Wenn ja, was habe ich falsch gemacht das immer noch nicht funktioniert? (Das ultimative Ziel ist, wenn es nicht der legitime Host ist, der übergeben wurde, sollte die Anfrage verwerfen / ignorieren / 404 zurückgeben, aber nicht umleiten mit 302 )
Vielen Dank im Voraus.
Weitere Hinweise zum Angriff hier: Ссылка
Nun gut, am Ende beantworte ich meine eigene Frage.
Danach treten Sie der Tomcat-Benutzer-Mailing-Liste bei (E-Mail-Adresse des Abonnenten: [email protected]). Da ist der Typ namens Andre hat mir geholfen das gelöst zu bekommen:
Was ich falsch gemacht habe, fehlt appBase
in meinem defaultlocalhost
Die obige Konfiguration hat erfolgreich den Status 404 zurückgegeben, wenn eine illegale Anfrage gesendet wurde. Der Grund ist, dass wenn Sie appbase
nicht immer auf webapps
setzen, so dass es nichts mit meiner ursprünglichen Konfiguration zu tun hat.
Ich hoffe, dass dies jedem helfen kann, der ein ähnliches Problem hatte.