Artikel in der Kategorie Computer

Mittwoch, 17. Februar 2010

We call them “Apps”…

von j-zero

Mahlzeit.

“Apps”, dieses Wort scheint das gute, alte und beliebte Wort “Anwendungen” zu ersetzen. Überall wo man hinhört gibt es nur noch “Apps”, ob auf dem iPhone, auf Android, Windows Mobile  betriebenen Telefonen oder sogar auf dem Computer zu Hause oder im Büro.

Nun ist dieser Hype nicht der erste. Nach den “Applets”, also kleinen Java-Programmen die in Webbrowsern eingebette sind (oder heutzutage eher waren), folgten z.B. “Gadgets” in Windows Vista oder “Widgets” in Mac OS X und “Desklets” unter Gnome.

Nun sind “Apps” aber nicht mit diesen zu vergleichen, da “Applets”, “Gadgets”, “Widgets” und “Desklets” zwar auch Anwendungen sind, diese aber eine Art “kleiner Anwendung” in einer anderen “großen Anwendung” sind. Wie z.B. ein Notizzettel, den man sich auf die Arbeitsfläche pinnt.

Dennoch scheint es als würden von den Werbemachern für jede Funktionalität die ein Gerät kann, auch wenn dies früher schon auf anderen Geräten ging, einen neuen Namen zu erfinden. Es hat den Anschein, dass diese Tatsache auch stark dazu beiträgt, die sinnlosesten Programme der Welt zu schreiben und Sie für Geld zu verkaufen oder auch zu verschenken.

Beispiele für das iPhone gibt es z.B. mehr als genug:

  • iBeer – Eine “App” die das Telefon in einvirtuelles Bierglas verwandelt, aus dem man “trinken” kann.
  • Virtual Zippo – Eine “App” die ein Feuerzeug simuliert.
  • CoinFlip - Ohne Worte…
  • MyReef 3D Aquarium – Ein Aquarium auf dem Handy.
  • etc.

Wer zur Hölle braucht sowas?

Anbei habe ich noch ein schönes Video einiger “Apps” die es leider nie in den “AppStore” schaffen werden:



Dienstag, 16. Februar 2010

Lauter Qualitätsverlust

von j-zero

Mahlzeit.

Ich bin gerade auf diesen Artikel eines Kollegen gestoßen, welcher von dem Problem berichtet, dass Aufnahmen auf Audio-CDs heutzutage in der Lautstärke nach oben hin verändert werden, weil “laut” wohl Heute Mode ist und dabei natürlich die Audio-Qualität in den Keller geht. Im Artikel selbst gibt es einen Link zu einem YouTube Video, welches das technische Problem sehr gut veranschaulicht. Nun war ich nicht überrascht von der Geschichte, da ich das Problem selbst (ebenfalls auf dem iPod) habe. Allerdings wollte ich die Geschichte mal überprüfen. Ich habe nun also meine CD-Sammlung nach Tonträgern durchforstet, auf denen ein und das selbe Lied ist, die Daten der Veröffentlichung aber möglichst weit auseinander liegen und bin tatsächlich fündig geworden. Daher nutze ich diese als Beispiel. Es handelt sich bei den Beiden Silberlingen um Eric ClaptonsMTV Unplugged in New York” von 1992 und der Compilation “Complete Clapton” aus dem Jahr 2007. Was soll ich großartig erzählen. Seht es euch selbst an…

Dies sind die Screenshots aus Audacity (oben 1992, unten 2007), man beachte die Peaks im Verhältnis zum Rest der Wellen:

Die obere Version, also von 2007 zeichnet im Vergleich sich im übrigen besonders  dadurch aus, dass alle Instrumente und die Stimmen gleich sauber und fein klingen, was bei dem unteren Exemplar nicht ganz der Fall ist. Hier sticht beihnahe Claptons Gesang heraus und in einigen Teilen übertönt er – so hört es sich jedenfalls an – sogar die Rhythmusgitarre und das Schlagzeug. Wenn man die 2007er Version einzeln hört, fällt dies kaum ins Gehör, im direkten Vergleich ist zwar die “alte” Version leiser, klingt aber dennoch ausgewogener. Dafür mache ich dann lieber meine Anlage etwas lauter.

In diesem Sinne: “Turn it up to eleven!



Donnerstag, 11. Februar 2010

moBlog

von j-zero

Mahlzeit,

ich blogge gerade mal mittel moBlog von meinem Handy. Bin mal gespannt ob das fuktioniert.

EDIT: Scheint zu funktionieren, auch wenn die Anwendung vermutlich für QVGA erstellt wurde und mir auf meinem WVGA Display einiges an Augenkrebs vermacht. Mal sehen, ob sich da mittels XML-RPC nicht noch was hüsches machen lässt. Aber dafür habe ich im Moment zu wenig Zeit.



Freitag, 23. Oktober 2009

Injektionen – die Querygrippe

von j-zero

Mahlzeit.

Nach dem ich ja schon länger nichts gepostet habe wollte ich mal wieder ein aktuelles mit einem alten Thema verbinden.
Was fällt uns denn im Moment zum Thema “Injektionen” ein? Richtig! Schweinegrippe!

Was viel dem ein oder anderen (vermutlich nur Nerds) früher bei “Injektionen” ein? Wieder richtig! SQL.

Nun ich bin in den letzten zwei Tagen nicht nur auf das erstere sondern auch auf das zweite gestoßen und das nicht auf einer ewig alten, nicht mehr gepflegten Webseite, sondern auf einer die noch irgendwie in der Entwicklungsphase ist aber schon produktiv mit sensiblen Daten arbeitet.
Die SQL-Injections waren nicht das einzige Problem, aber vermutlich das welches am häufigsten auch bei anderen Projekten möglich ist.

Ich möchte an dieser Stelle mal (für alle die, die mal was davon gehört haben, aber nicht wissen um was es sich handelt) erläutern, was bei SQL-Injections das Problem ist.
ACHTUNG: Der nachfolgende Text ist für rein edukative Zwecke gedacht und ich übernehme keinerlei Haftung für dadurch entstandenen Schaden!
Stellt euch vor, ihr habt eine tolle Seite in PHP gebastelt auf der ihr für die Familie die Grönland-Urlaubsbilder zur Verfügung stellen wollt oder die vom Jahr davor im Dschungel von Guatemala. Ihr habt sogar eine kleine Datenbank in der jedes Album eine Nummer hat. Grönland hat die Nummer 2009 und der Dschungel hat 2008 oder 1 und 2. Wie auch immer.
Nun rufen eure Verwandten diese Bilder mittels: “http://www.example.com/meinalbum.php?album=2008″ ab. Schön und gut.

Ihr habt also eine SQL-Abfrage in dem PHP die in etwa so lautet:

1
$result=mysql_query("SELECT * FROM alben WHERE album = " . $_GET['album'] . " ORDER BY id ASC");

Na, wer findet das Problem?

Richtig! Es fehlen die Anführungszeichen im SQL-Query. Nun kommen wieder einige Scriptkiddies und meinen: Die brauchen wir nicht, geht ja auch so!
Damn! Ihr habt mal wieder recht! Für alle die wissen wollen was noch geht, lest einfach weiter.
Viele werden es schon vermuten: SQL-Injections.
Nun wie tun wir das? Erstmal testen, ob’s klappt: Erstmal schauen wir ob wir einen Fehler erzeugen können in dem wir ein ‘ hinter die 2008 hängen. Bekommen wir dann das:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right foo bar...

Sind wir schon mal einen Schritt weiter. Das bedeutet in den meisten Fällen, die Seite ist verwundbar.
Nun wollen wir herausfinden wie viele Spalten denn wohl diese “alben”-Tabelle hat, das kann man einfach per “ORDER BY” machen:

meinalbum.php?album=2008 ORDER BY 1/*
meinalbum.php?album=2008 ORDER BY 2/*
meinalbum.php?album=2008 ORDER BY 3/*
meinalbum.php?album=2008 ORDER BY 4/*
meinalbum.php?album=2008 ORDER BY 5/* <-- hier gibts einen Fehler ("Unknown column 5 in ...")

Da wir nicht nach Spaltennamen sondern deren Index sortieren muss es 4 Spalten geben, wenn bei 5 keine kommt.

Fein, aber wie bringt uns das Weiter? Hmm… UNION!
UNION in SQL ist sowas wie ein “DOWNER JOIN” man kann also zwei SELECT-Ergebnisse untereinander hängen.

Wir benutzen also

meinalbum.php?album=2008 UNION ALL SELECT 1,2,3,4/*

und schon haben wir alle Einträge der Tabelle.
Oder:

meinalbum.php?album=2008 UNION ALL SELECT 1,2,3,4 FROM mysql.user/*

Und schon haben wir im Grunde Zugriff auf die gesamte Datenbank.

Wie schafft man sich als Programmierer Abhilfe?

  • Immer Anführungszeichen vor und nach den Werten im Query verwenden! Vor allem vor Werten die direkt vom User geändert werden können!
  • Werte immer so weit wie möglich auf den Datentyp oder Inhalt testen! (Im Beispiel z.B. mit “is_numeric”)

Falls noch Fragen oder Kritiken oder Anregungen da sind. Bitte Mail oder Kommentar.

Bis neulich.

j-zero



Montag, 14. September 2009

Wer die Wahl hat…

von j-zero

Mahlzeit,

das nenne ich mal Wahlwerbung!

Piraten vs. Zensursula

CDU-Plakat zerstört Internet-/Festnetzanbindung

SPD hängt alte Schröder-Plakate auf