
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 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.
데모 예약하기Jaap 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.

아래 링크를 클릭하여 이 자료의 PDF를 다운로드하십시오.
Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.
보고서 보기데모 예약하기Jaap 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.
목차
Jaap Karan Singh ist Secure Coding Evangelist, Chief Singh und Mitbegründer von Secure Code Warrior.

Secure Code Warrior 소프트웨어 개발 주기 전반에 걸쳐 코드를 보호하고 사이버 보안을 최우선으로 하는 문화를 조성하도록 귀사를 Secure Code Warrior . 앱 보안 관리자, 개발자, 최고정보보안책임자(CISO) 또는 보안 관련 업무를 담당하는 분이라면 누구든, 저희는 귀사가 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.
데모 예약하기다운로드



%20(1).avif)
.avif)
