
Programmierer erobern die Sicherheit: Serie „Teilen und Lernen“ — Schwächen beim Sitzungsmanagement
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.


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.
Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

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ónJaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.


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.

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.

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ónJaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.
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
Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

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ónDescargarRecursos para empezar
Temas y contenidos de la formación Securecode
Nuestros contenidos líderes en el sector se desarrollan continuamente para adaptarse al cambiante panorama del desarrollo de software, teniendo en cuenta su función. Temas que abarcan desde la inteligencia artificial hasta la inyección XQuery y que se ofrecen para una amplia variedad de funciones, desde arquitectos e ingenieros hasta gestores de productos y control de calidad. Eche un vistazo a nuestro catálogo de contenidos por temas y funciones.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para empezar
Cybermon ha vuelto: ¡Derrota al jefe! Las misiones KI ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible durante todo el año en SCW. Utiliza requisitos de seguridad avanzados de IA/LLM para reforzar el desarrollo seguro de la IA a gran escala.
Explicación de la Ley de Resiliencia Cibernética: qué significa para el desarrollo de software Secure by Design
Descubra qué exige la Ley de Ciberresiliencia de la UE (CRA), a quién se aplica y cómo los equipos de desarrollo pueden prepararse para ella mediante métodos seguros, la prevención de vulnerabilidades de seguridad y el desarrollo de capacidades para los desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El facilitador 1 abre nuestra serie de diez partes titulada «Facilitadores del éxito» y muestra cómo la codificación segura puede combinarse con resultados empresariales como la reducción de riesgos y la velocidad para lograr la madurez del programa a largo plazo.




%20(1).avif)
.avif)
