Iconos SCW
héroe bg sin separador
Blog

Programmierer erobern die Sicherheit: Serie „Teilen und Lernen“ — Schwächen beim Sitzungsmanagement

Jaap Karan Singh
Publicado el 31 de enero de 2019
Última actualización el 9 de marzo de 2026

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Ver recurso
Ver recurso

Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine falsche Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

¿Te interesa saber más?

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Más información

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Reservar una demostración
Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Jaap Karan Singh
Publicado el 31 de enero de 2019

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Compartir en:
marcas de LinkedInSocialx logotipo

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe.

Solicitamos su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Tratamos sus datos personales con el máximo cuidado y nunca los vendemos a otras empresas con fines comerciales.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, active las cookies de «Analytics». Cuando haya terminado, puede desactivarlas en cualquier momento.

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Ver seminario web
Empiece
Más información

Haga clic en el enlace de abajo y descargue el PDF de este recurso.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Ver informeReservar una demostración
Ver recurso
Compartir en:
marcas de LinkedInSocialx logotipo
¿Te interesa saber más?

Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Jaap Karan Singh
Publicado el 31 de enero de 2019

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Compartir en:
marcas de LinkedInSocialx logotipo

Sie navigieren zu einer Website und melden sich an. Wie gewohnt füllen Sie Ihren Warenkorb mit Produkten, die Sie kaufen möchten. Dann, hoppla — deine Hand rutscht ab und schließt den Browser-Tab. Nach einer kleinen Panik gibst du die URL der Seite wieder in den Browser ein und drückst die „Enter“ -Taste. Sie werden zurück auf die Website gebracht, angemeldet und alle Ihre Artikel befinden sich immer noch im Warenkorb. Puh.

Woher wusste die Website, wer Sie sind, ohne sich erneut zu authentifizieren? Sie wurde identifiziert, weil sie Sitzungen verwendet hat. Sitzungen sind der Schlüssel zu einer guten Benutzererfahrung bei der Nutzung des Webs. Eine unsachgemäße Verwaltung von Sitzungen kann jedoch zu Sicherheitslücken führen, die Angreifer ausnutzen können.

Sehen wir uns nun an, was Sitzungsmanagement bedeutet, wie ein schwaches Sitzungsmanagement Ihnen schaden kann und was Sie tun können, um Sitzungen richtig zu verwalten.

Die Schwächen des Sitzungsmanagements verstehen

Eine Sitzung bezieht sich auf einen auf dem Server gespeicherten Wert, der für einen einzelnen Benutzer der Anwendung spezifisch ist. Dies ist aus zwei Gründen notwendig: Erstens ist HTTP ein zustandsloses Protokoll. Jede Anfrage ist separat und es sind keine Anfragen bekannt, die davor oder danach eingegangen sind. Eine Sitzung hilft dem Server dabei, nachzuverfolgen, wer die Anfrage gesendet hat. Andernfalls müssten Sie sich jedes Mal anmelden, wenn Sie auf eine Schaltfläche oder einen Link klicken.

Der zweite Grund für Sitzungen ist die Autorisierung des Benutzers. Die Sitzungs-ID kann verwendet werden, um einen bestimmten Benutzer mit bestimmten Rechten innerhalb des Systems zu erkennen. Die Anwendung wird wissen, wer die Person ist und was sie tun darf.

Eine Sitzung besteht aus zwei Komponenten. Ein serverseitiger Datenspeicher speichert eine Sitzungskennung und ordnet sie Informationen über den Benutzer zu, z. B. seiner Benutzer-ID oder Warenkorbinformationen. Dieselbe Sitzungs-ID wird in einem Cookie an den Browser gesendet. Die Cookies werden vom Browser auf dem System des Benutzers gespeichert. Der Client übergibt das Cookie bei jeder Anfrage und teilt dem Server mit, dass diese Anfrage von demselben Benutzer stammt. Die meisten Anwendungen verwenden Sitzungen, um Benutzer sowohl vor als auch nach der Authentifizierung zu verfolgen.

Ein ordnungsgemäßes Sitzungsmanagement ist für die Sicherheit einer Anwendung unerlässlich. Eine gültige Sitzungs-ID hat das gleiche Maß an Vertrauen wie ein Benutzername/Passwort oder sogar ein Zweitfaktor-Authentifizierungstoken.

Warum schlechtes Sitzungsmanagement gefährlich ist

Ein schlechtes Sitzungsmanagement kann zur vollständigen Kontoübernahme führen. Dies bedeutet, dass Kundendaten gestohlen oder Produkte betrügerisch gekauft werden können. Es gibt mehrere Möglichkeiten für Angreifer, eine gültige Sitzungs-ID zu erhalten.

EIN Angriff auf Sitzungsfixierung tritt auf, wenn Sitzungen zu wichtigen Zeiten nicht geändert werden, z. B. wenn sich ein Benutzer am System anmeldet, und wenn Sitzungskennungen mithilfe der URL festgelegt werden können. Das Festlegen von Sitzungskennungen auf diese Weise kann dazu verwendet werden, dass Benutzer in verschiedenen Anwendungen, die dieselbe Authentifizierungsquelle verwenden, angemeldet bleiben. In diesem Fall kann ein Angreifer eine Website aufrufen und eine Sitzungs-ID abrufen. Der Angreifer sendet dann eine URL per E-Mail an ein ahnungsloses Opfer mit der Sitzungs-ID in der URL. Das Opfer klickt auf die URL in der E-Mail und meldet sich auf der Website an. Wenn die Sitzungs-ID bei der Anmeldung nicht rotiert wird, hat der Angreifer jetzt eine gültige, authentifizierte Sitzungs-ID. Dies ermöglicht eine vollständige Kontoübernahme.

Ein weiterer Angriff auf ein schlechtes Sitzungsmanagement ist ein Brute-Force-Guessing-Angriff. Wenn Entwickler versuchen, ihre eigenen Sitzungsverwaltungssysteme zu erstellen, verwenden sie häufig Sitzungs-IDs, die ziemlich einfach zu erraten sind. Dies kann eine Sequenz (1, 2, 3) oder ein vorhersehbares Muster sein. Der Angreifer errät einfach so lange Sitzungs-IDs, bis eine gültige entdeckt wird. Dies führt auch zu einer Kontoübernahme.

Sitzungen, die nach Ablauf einer bestimmten Zeit nicht automatisch für ungültig erklärt werden, können ausgenutzt werden, um Benutzer anzugreifen. Ein erfolgreicher Seitenübergreifende Anforderungsfälschung Der Angriff hängt von Sitzungen ab, die noch gültig sind, nachdem der Benutzer die Site verlassen hat. Nehmen wir an, ein Angreifer platziert einen Iframe oder ein Bild auf einer vom Benutzer besuchten Website. Das Attribut „src“ (Quelle) ist auf die URL der anfälligen Website gesetzt und führt im Namen des Benutzers eine Aktion aus. Beispielsweise könnte eine anfällige Bankanwendung dazu gebracht werden, ohne die Erlaubnis des Benutzers Geld auf das Konto eines Angreifers zu überweisen.

Das Sitzungsmanagement kann schwierig sein und Schwächen können verheerend sein. Es ist jedoch ein bekanntes Problem und kann gelöst werden.

Besiegen Sie unsicheres Sitzungsmanagement

Das Sitzungsmanagement ist ein Kernstück jeder Webanwendung. Daher verfügen viele Frameworks für die Webentwicklung über integrierte Sitzungsverwaltungsfunktionen. Diese Systeme wurden von Experten unter die Lupe genommen, um Probleme zu finden und zu beheben. Benutze sie.

Einige gemeinsame Eigenschaften von gutes Sitzungsmanagement beinhalten:

Zufällig generierte Sitzungs-IDs, die Angreifer nicht erraten können

Sitzungen werden ungültig, wenn sich ein Benutzer abmeldet

Sitzungen werden nach Ablauf einer bestimmten Zeit automatisch für ungültig erklärt

Sitzungs-IDs werden geändert, nachdem sich der Benutzer angemeldet hat

Sitzungs-IDs, die mindestens 128 Bit lang sind, um Brute-Force-Angriffe zu verhindern

Web-Frameworks wie Spring, ASP.NET-Kern, Schienen, und Django haben diese Eigenschaften und sollten in diesem Fall aufgrund ihrer höheren Sicherheitsstandards verwendet werden.

Fazit: Erstellen Sie Ihr eigenes Sitzungsverwaltungssystem nicht von Grund auf neu.

Sobald die Sitzungs-IDs erstellt wurden, müssen sie geschützt werden. Stellen Sie das ein Secure- und HttpOnly-Flags auf „True'on Session-Cookies“. Dadurch wird sichergestellt, dass ihr Wert nicht mit JavaScript abgerufen werden kann und der Browser das Cookie nur über HTTPS sendet, wodurch verhindert wird, dass Angreifer während der Übertragung die Sitzung einer anderen Person stehlen.

Sichere deine Sessions

Schauen Sie sich unsere kostenlosen Lernressourcen an um mehr über sicheres Sitzungsmanagement zu erfahren. Wenn Sie lernen, wie Sie Ihre Sitzungen schützen, können Sie verhindern, dass Benutzerkonten übernommen werden, Ihr Ruf geschädigt wird und Umsatzeinbußen aufgrund von Sicherheitslücken entstehen. Schützen Sie Ihre Sitzungen und schützen Sie Ihre Benutzer.

Índice

Descargar PDF
Ver recurso
¿Te interesa saber más?

Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Más información

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Reservar una demostraciónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para empezar

Más entradas
Centro de recursos

Recursos para empezar

Más entradas