PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘Github’ tag

2-Faktor-Authentifizierung mit dem Google Authenticator

with 38 comments

Viele größere Webdienste bieten mittlerweile die 2-Faktor-Authentifizierung an, PayPal, Amazon, Facebook und nicht zuletzt Google. Mit der 2-Faktor-Authentifizierung muss neben dem Benutzernamen und Passwort auch noch ein Einmal-Passwort, ein sogenanntes One-Time-Token eingegeben werden, das von einem Gerät unabhängig vom PC generiert wird und nur einmal gültig ist. Sollte es also jemand schaffen und das Passwort erraten oder mitschneiden, hilft es dem Angreifer wenig denn er muss auch noch Zugriff auf das Hardwaregerät bekommen, und das sollte schwierig sein.

Die Generierung von solchen Codes ist nicht sonderlich schwer, beide Parteien (das Gerät und die Webseite) müssen nur ein gemeinsames „shared secret“ kennen (auch Seed genannt), und aufbauend auf diesem dann sich immer ändernde Codes generieren können. Dazu gibt es RFCs, beispielsweise RFC 4226.

Weiterlesen »

Written by Michael Kliewe

März 13th, 2012 at 10:02 am

Animierte CAPTCHAs und GIFs selbst erstellen

with 10 comments

Da ich noch nie mit PHP ein animiertes GIF erstellt habe wollte ich das mal testen. Um auch etwas halbwegs sinnvolles zu tun habe ich eine Klasse erstellt die animierte CAPTCHAs erstellen kann.

Bei animierten GIFs und PHP gibt es im Prinzip 2 Lösungen: Man nutzt Imagick, oder man baut das GIF-Format binär nach. Für letzteres gibt es bereits die Klasse GIFEncoder, die ich auch hier nutze. Die GD-Funktionen von PHP bieten leider keine Möglichkeit (mehr), animierte GIFs zu erstellen.

Das Projekt AnimatedCaptcha liegt auf Github. Man übergibt der Klasse eine Zeichenfolge, stellt ein paar Parameter ein und erhält als Ergebnis ein animiertes GIF. Ich habe ein Plugin-System eingebaut, sodass weitere Plugins schnell erstellt werden können. Ich habe bereits 3 angelegt:

MovingRectangle:

Snow:

RollingBall:

Diese 3 Plugins haben jeweils weniger als 40 Zeilen Code. Hier 2 Beispiele der Benutzung:

Weiterlesen »

Written by Michael Kliewe

September 2nd, 2011 at 10:37 am

Manipulationen erkennen – Bemerken dass man gehackt wurde

with 38 comments

In viele Webseiten wird heutzutage eingebrochen und es werden Änderungen an der Webseite durchgeführt. Das kann die selbst programmierte Webseite sein bei der man eine Lücke eingebaut hat, das kann aber auch ein installiertes WordPress oder Joomla sein.

Häufig sind solche Angriffe nicht geziehlt, sondern werden mittels automatischer Scripte durchgeführt, die dann auf allen anfälligen Servern kleine Änderungen an den Dateien durchführen:

– Phishing Webseiten werden auf den Server gelegt
– in die Webseite wird bösartiger Code eingebaut der mittels Flash, Javascript, Windows Media Player oder anderen Techniken versucht einen Drive-By-Download bei den Besuchern zu platzieren
– die Webseite wird „nur“ defaced, sprich ein witziges Bild wird auf die Webseite gesetzt die den Besitzer blossstellen soll
– an strategisch gut platzierte Stellen im Code werden mail() Aufrufe eingefügt die beispielsweise die Klartextpasswörter an den Angreifer senden
– es werden kleine Scripte abgelegt wie beispielsweise PHProxy oder ein Spam-Mail-Script
– heutzutage wird auch gern die .htaccess Datei verändert, mit der der Suchmachinen-Traffic auf eine andere Seite umgeleitet wird, beispielsweise so:

Weiterlesen »

Written by Michael Kliewe

August 17th, 2011 at 9:42 am