2016-04-07 10 views
0

Ich frage mich, ob es ein Sicherheitsproblem ist, wenn man dem Benutzer einer Site erlaubt, auf Cookies mit Javascript zuzugreifen und sie zu ändern? Welcher Schaden kann dadurch verursacht werden, dass Benutzer das zulassen? Wird es nur in einigen Situationen als Sicherheitsproblem angesehen, aber nicht in anderen? Verhindert die Verwendung von HttpOnly-Cookies die Änderung von Cookies durch den Benutzer?Erlaube den Benutzern den Zugriff auf Cookies über Javascript. Ein Sicherheitsproblem

+1

Es ist kein Sicherheitsproblem. In der Tat ist es unmöglich, dies zu verhindern, da die Cookies vom Benutzer gespeichert werden. – afuous

Antwort

1

Sie sprechen über zwei verschiedene Szenarien:

  1. erlauben JavaScript Cookies zu lesen/ändern
  2. Kann ein Benutzer Cookies ändern, wenn sie als Httponly gekennzeichnet sind

1) erlauben JavaScript Lesen/ändern Sie Cookies.

Der Grund, warum JavaScript normalerweise nicht auf Cookies (Lesen oder Schreiben) zugreifen kann, ist, dass die meisten Websites Cookies verwenden, um die Website-Authentifizierung zu verarbeiten. Es ist üblich, dass Angreifer auf einer Website einen Exploit von Cross-Site Scripting (XSS) erstellen und diesen verwenden, um die Werte des Authentifizierungscookies zu lesen und sie an einen Server zu senden, den der Angreifer kontrolliert.

Wenn der Angreifer Sitzungscookies hat, besteht die Möglichkeit (abhängig von der Sicherheit der Site), dass der Angreifer die Werte des Authentifizierungscookies des Opfers in die Angreifer-Sitzung einfügt. Wenn sie dann zum Zielort gehen, werden sie als Opfer behandelt und können alles tun, was das Opfer tun kann.

Stehlen von Cookies ist nicht die einzige Sache, die durch XSS getan werden kann, um mehr zu lesen, schauen Sie auf OWASPS - A3 Cross-Site Scripting write-up.

2) Kann ein Benutzer Cookies ändern, wenn sie als Httponly gekennzeichnet sind

Ja. Der Benutzer kann die Cookies, html, css, JavaScript, alles, was auf seinem Rechner ist, ändern. Aus diesem Grund sollten niemals Geheimnisse auf dem Computer des Kunden gespeichert werden, und ALLE Werte, die vom Computer des Kunden/Benutzers kommen, müssen als nicht vertrauenswürdig betrachtet werden, bis sie sich als gültig erweisen.

Verwandte Themen