O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

1797.6 Bruteforcing von Sessions
wird hier oft als zusätzlicher Nutzen empfunden, sollte aber auch mit
Bedacht eingesetzt werden.
7.6 Bruteforcing von Sessions
Viele Applikationen verfügen über Mechanismen, die ein Bruteforcing
von Login-Mechanismen verhindern. Diese Mechanismen reichen vom
Sperren auffälliger IP-Adressen bis hin zur Deaktivierung eines beson-
ders häufig angegriffenen Accounts. Eine Abwehrvorrichtung gegen
das Erraten oder Bruteforcing von Session-IDs gibt es aber meist nicht.
Das bedeutet, dass ein Angreifer oft unbemerkt eine Brute-Force-Atta-
cke auf eine Applikation durchführen kann. Testen kann man dies,
indem man mit einem zwischen Browser und der Webapplikation
geschalteten Proxy verschiedene Session-IDs probiert und diese an den
Server sendet.
IP-Adressen oder
Account sperren
Wird der Account oder die IP-Adresse nicht gesperrt, ist die Appli-
kation für Brute-Force-Attacken oder Erraten von Session-IDs anfällig.
Eine Möglichkeit, dieses Problem in den Griff zu bekommen, ist
die Sperrung von Accounts oder IP-Adressen, falls öfter als x Mal
innerhalb einer bestimmten Zeit ein Anmeldeversuch erfolgt ist. Der
Wert von »x« ist von der Anwendung abhängig – bei jeglichen sicher-
heitskritischen Applikationen sollte er nicht größer als 3 sein. Eine sol-
che Sperrung kann zu Beschwerden von Benutzern führen, deren
Account nach einer Attacke gesperrt wurde – diesen sollte man eine
einfache, aber effektive Möglichkeit einräumen, die Sperrung wieder
aufzuheben. Anwender, die über einen Proxy surfen, werden von auf-
fälligem Verhalten anderer Benutzer hinter demselben Proxy unter
Umständen in Mitleidenschaft gezogen – daher ist eine IP-Sperre nicht
immer das Mittel der Wahl.
Eine andere rein theoretische Möglichkeit ist die Verwendung von
»vorgetäuschten« Session-IDs – eine bestimmte Reihe von Session-IDs
wird von der Anwendung vergeben, um Angreifer in eine Falle zu
locken. Falls nun ein Zugriffsversuch mit einer dieser bestimmten Ses-
sion-IDs geschieht, kann der Account sofort gesperrt werden. Das ist
allerdings die unsichere Variante von beiden, denn der Angreifer kann
auf Anhieb die richtige Session-ID erraten. Außerdem muss man Ein-
fluss auf das Aussehen der Session-ID nehmen können und abprüfen,
ob diese Session-ID eine gültige oder eine »vorgetäuschte« ID ist.
Man sollte aber auch an bereits identifizierte Angreifer denken,
d.h. an solche, die sich erfolgreich in einer Applikation angemeldet
haben und nun versuchen, über Session-Erraten höher privilegierte
Rechte zu erhalten.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required