Monatliches Archiv: Juni 2015

RaspberryPI + Display auf Hutschiene

IMG_7739Dass der Raspberry PI der am Besten geeignete Server für eine Hausautomatisierung ist, steht außer Frage. Mir fehlten jedoch bisher 2 Sachen: Die Montagemöglichkeit im Schaltschrank und eine vernünftige Statusanzeige. Mit einem kleinen Wochenend-Bastelprojekt habe ich dem nun Abhilfe geschaffen.

Das verwendete Display ist ein DOGL128 von Electronic Assembly mit 128×64 Pixel Auflösung. Dieses ist mittels SPI Schnittstelle an die GPIOs vom Raspberry PI angeschlossen und wird mit einem kleinen C-Programm mit Daten versorgt. Das Display kann man dann beispielsweise von FHEM oder LCDPROC ansteuern und so den aktuellen Status im Haus oder Fehlermeldungen darstellen. Auch grafische Ausgaben sind möglich.

Um das ganze nachzubauen, braucht ihr:

  • Hutschienengehäuse für den Raspberry (7,95€ derzeit). Bitte achtet darauf, dass ihr das richtige Gehäuse für Eure Variante kauft. Inzwischen gibts ja den Raspberry PI B, Raspberry PI B+, Raspberry PI 2 B und noch einige mehr.
  • Lochrasterplatine (mindestens 25×20 Löcher)
  • DOGL128E-6 Display (oder ähnlich, am besten aber ein Positiv-Display, das lässt sich auch ohne Hintergrundbeleuchtung ablesen) (15,60€ derzeit)
  • Hintergrundbeleuchtung (am Besten grün oder Amber) (3,85€ derzeit)
  • Ein paar 1µF Keramikkondensatoren in 0805 Baugröße. Andere Kerkos, z.B. bedrahtete, gehen auch, aber ihr müsst das Layout dann anpassen.
  • 3 Stück 56 Ohm Widerstände in 0603 oder 0805 Baugröße für die Hintergrundbeleuchtung.
Weiter lesen

SQL Injection Attack mit Hilfe der Stadt, Teil 2


Im Dezember 2008 hatte ich unter SQL Injection Attack mit Hilfe der Stadt darüber berichtet, dass ich mit unserem Straßennamen “ Auf’m Diek “ bei einem Internethändler auf nicht unerhebliche Probleme gestoßen bin.

Für diejenigen, die nicht viel mit SQL am Hut haben, will ich mal kurz erläutern, was damals passiert ist: Bei SQL, das ist eine Datenbanksprache, die auf den meisten Webseiten verwendet wird, werden Texte in Hochkommatas eingeschlossen, um zu kennzeichnen, wo der Text anfängt und wo er endet. Außerhalb der Hochkommatas stehen Befehle, was die Datenbank machen soll. Ein typischer Befehl sähe also so aus:

SELECT address FROM customer WHERE name='Carsten';

Soll nun der eigentliche Text selbst ein Hochkomma haben, so muss man es speziell kenntlich machen, der Experte sagt „escapen“. Dies erfolgt bei SQL durch einen vorangestellten Backslash:

SELECT address FROM customer WHERE name='Carsten\'s Name';

Macht man das nicht, passieren mehr oder minder lustige Dinge: Die Datenbank kann nicht mehr unterscheiden, wo der Text endet und der nachfolgende Befehl endet. Randall Munroe von XKCD hat die möglichen Effekte in einem Comic sehr anschaulich beschrieben:

Quelle: XKCD, Oktober 2007

Seitdem meinem vorhergehenden Posting sind fast 7 Jahre vergangen. SQL Injection Angriffe sind inzwischen selbst in der Breiten Öffentlichkeit angekommen und für jeden seriösen Entwickler ist es inzwischen Standard, seine Anwendung auf solche Schwachstellen zu überprüfen. Weiter lesen