2016-05-03 11 views
1

ich zur Zeit studierten über Session-Fixation-Techniken und lesen Sie diesen Artikel über sie: https://www.owasp.org/index.php/Session_fixationMeta-Tag-und Script-Verarbeitung innerhalb URL

In Beispiel 2 und 3 heißt es, dass ich vermutlich das Cookie eines Benutzers festlegen kann, lädt eine Ressource mit den folgenden URLs:

Bedeutet dies, dass der Browser diese Tags verarbeitet, wenn URLS verarbeitet? Ich habe versucht, in URLs eingebettete Skripts auszuführen, die Iframes laden, und konnte sie nicht ausführen, selbst wenn ich die Skript-Tags URL-codiert habe.

EDIT

Ich denke auch, dass das Problem sein würde, wenn die URL an andere Benutzer angezeigt wird und das Skript ausgeführt wird. Die Art der Sitzungsfixierung besteht jedoch darin, dass ein Benutzer durch einen Angreifer vor der Anmeldung einen Cookie gesetzt hat, damit der Angreifer die Sitzung bei der Anmeldung übernehmen kann. Dies steht im Gegensatz zu üblichen XSS-Angriffen, bei denen versucht wird, den Cookie des Benutzers zu stehlen um die Sitzung zu entführen. Wenn dies der Fall ist, sollte sich der Benutzer nicht zuerst an der Zielseite befinden, damit die oben genannten Skripts die Browser-Cookies für die Ziel-Website ändern? Meiner Ansicht nach sind Browser-Cookies pro Site. Wenn also das obige Skript auf einer anderen Site als der Zielwebsite ausgeführt wird, werden die Cookies auf die Site festgelegt, auf der sich der Benutzer gerade befindet, und nicht auf die Zielwebsite. Ist mein Verständnis richtig?

Antwort

0

Wenn Sie geben so etwas wie dies in der URL-Leiste des Browsers:

http://example.com/<script>alert("Hello World");</script> 

Es als

behandelt wird
http://example.com/%3Cscript%3Ealert%28%22Hello%20World%22%29;%3C/script%3E 

Die einfache URL sollte nichts in einem Browser tun. Wenn ein Browser eine Warnung mit dem Text "Hello World" anzeigt, ist dieser Browser eine Sicherheitslücke und sollte niemals irgendwo installiert werden.

Wenn Sie jedoch versuchen, eine dynamische Seite (JS/PHP/C#/Java usw.) zu erstellen, sollten Sie immer daran denken, niemals dem Client zu vertrauen.

Wenn Sie die {RequestURI} ausgeben würden, was alles nach http://example.com/ ist, hätten Sie ein Problem. Sie sollten immer Html-Entitäten in Benutzereingaben codieren oder einen Filter verwenden, der <meta>, <script> und alles, was Probleme haben könnte, verbietet.

+0

Vielen Dank für Ihre Antwort Herr. Ich denke auch, dass das Problem wäre, wenn die URL anderen Benutzern angezeigt wird und das Skript ausgeführt wird. Die Art der Sitzungsfixierung besteht jedoch darin, dass ein Benutzer durch einen Angreifer vor der Anmeldung einen Cookie gesetzt hat, damit der Angreifer die Sitzung entführen kann, wenn sich der Benutzer anmeldet. Wenn dies der Fall ist, sollte sich der Benutzer nicht am Zielstandort befinden Erstens, damit die oben genannten Skripts die Browser-Cookies für eine bestimmte Site ändern? – MykelXIII

+0

Ich habe meine Frage aktualisiert, um weitere Details hinzuzufügen. – MykelXIII

Verwandte Themen