PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for März, 2012

Local File Inclusion: Einige Beispiele

with 10 comments

Ich habe schon länger keine sicherheitsrelevanten Probleme mehr gepostet, heute schauen wir uns ein paar häufig gemachte und exisierende Fehler an. Schaut euch diesen Code-Schnipsel an:

<?

$url = $_POST['imageUrl'];

$content = file_get_contents($url);

// Put the content of that URL into a database for later use/display

Der Benutzer der Webseite kann also in ein Formular eine URL eintippen, beispielsweise die URL eines Bildes, einer XML-Datei oder einer Webseite. Das Script ruft diese Resource (z.B. ein Avatar Bildchen) ab und speichert es auf der Festplatte oder in einer Datenbank.

Auf einer anderen Seite kann der Benutzer (und vielleicht alle anderen Besucher der Webseite) dieses Bild dann abrufen.

Gibt es hier ein Sicherheitsloch? Ja, gleich mehrere! Was passiert wenn der Benutzer zum Beispiel folgende URLs eingibt:

Weiterlesen »

Written by Michael Kliewe

März 16th, 2012 at 10:05 am

Slides der PHP UK Conference 2012

without comments

Und wieder ist eine hochkarätige PHP Konferenz zu Ende gegangen, die PHP UK Conference 2012 in London im Business Design Centre. Hier eine Übersicht der Talks und der Präsentationen:

24. Februar 2012

Opening Address
Ciaran Rooney

PHP in 2012
Rasmus Lerdorf

Powering Your Website with Realtime Data
Bert Van Hauwaert

The Journey towards Continuous Integration
Sebastian Marek

Weiterlesen »

Written by Michael Kliewe

März 15th, 2012 at 10:11 am

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

Linkpool Nummer 28

with one comment

Einige Links zur Lektüre am Wochenende:

Die verschiedenen Möglichkeiten des Packaging, unter anderem PEAR, frameworkeigene Lösungen und Composer:

Sehr schöner Artikel zum Localstorage und der aktuellen Diskussion dass man ihn nicht benutzen soll aus Performancegründen:

Erklärung zur aktuellen Diskussion zu Scalaren Typehints, und warum das eine schwere Aufgabe ist:

Ein umfangreicher Artikel über die Neuerungen in PHP 5.4:

5 Möglichkeiten bzw. Design Pattern, um in PHP-Projekten eine Plugin-Struktur aufzubauen:

Ein deutscher Podcast von Mayflower, erste Ausgabe. Bin sehr gespannt ob es noch weitere Folgen gibt!

Kostenloses E-Book von IBM zu IPv6:

Written by Michael Kliewe

März 10th, 2012 at 11:24 am

Posted in Javascript,PHP

Tagged with , ,

Passworte/Strings untersuchen: Links- oder Rechtshänder?

with 8 comments

Mich interessierte kürzlich ob die Wahl des Passwortes davon abhängt ob man Rechts- oder Linkshänder ist, oder ob es einfach nur davon abhängt wo die am häufigsten genutzten Buchstaben auf der Tastatur liegen. Dazu habe ich mir ein kleines Script gebaut dass zu einem gegebenen String ausrechnet welche Finger bzw. welche Hand für das Tippen benutzt werden.

Dabei gibt es jedoch einige Annahmen die nicht immer auf alle Personen zutreffen. Ich teile die Tastatur exakt in 2 Hälften, es gibt jedoch viele Leute die die Tastatur anders aufteilen, oder gar nicht (alles mit dem rechten Zeigefinger ;-)) Des weiteren habe ich Großbuchstaben nicht mit beachtet da ich nicht genau weiß wie da die gängige Vorgehensweise ist. Nutzt ihr immer die linke Shift-Taste, oder wovon hängt es ab welche der beiden ihr nutzt? Ich habe es erstmal rausgelassen.

Weiterlesen »

Written by Michael Kliewe

März 8th, 2012 at 10:11 am

Posted in PHP