Posts Tagged ‘Partyguide’

Samstag, 26. August 2006

Tabellenlayout adé! (Und: XSS vorbeugen)

(Ich hoffe, dass die Entwickler von Partyguide.ch mitlesen …)

Gestern habe ich mich daran gemacht, die Web-Site meines Arbeitgebers zu überarbeiten.

Tables are so 2003!

Zuerst nahm ich mich dem Layout an. Dieses hatte ich zu Beginn des Jahres 2003 entwickelt – einer Zeit, als Tabellenlayouts noch State-Of-The-Art waren (jedenfalls in meinem Kopf) und ich CSS gerade erst zu entdecken begann, um damit … Texte zu formatieren.

Dass man mit den Cascading Stylesheets noch viel mehr anstellen konnte, verschloss sich mir damals noch.

Viel hat sich in der Zwischenzeit getan und heute möchte ich die Funktionalität von CSS2 nicht mehr missen. Die Templates für Web-Sites lassen sich rascher und mit viel weniger Overhead erstellen und auch nachträglich ohne Eingriff in den Code abändern. Zudem sind sie behindertengerechter.

Leider, leider, hat sich der 500-Pfund-Gorilla aus Redmond bei der CSS-Implementation in den sichersten Browser der Welt (just kidding) nicht viel Mühe gegeben, weshalb man immer überprüfen muss, ob auch der MSIE auch wirklich alles korrekt anzeigt, wie es seine standardkonformeren Kollegen Firefox, Safari und Opera anstandslos tun.

Erst dank CSS habe ich gelernt, ganz normale HTML-Tags wie h1 und p zu lieben. Zu nothing-Zeiten benutzte ich beispielsweise nicht etwa h1, um Überschriften festzulegen, sondern etwas in der Form

<span class="contentTitleFirstLevel">Title</span>

Es gibt Leute, die Spass daran haben, das Rad immer wieder neu zu erfinden. Auch ich gehörte dazu. Abgebucht unter: Jugendsünde. Denn er wusste nicht, was er tat …

XSS vorbeugen

Neben der Verschlankung des Designs (die Grösse des Templates konnte in etwa halbiert werden!) liess ich natürlich auch eine Web 2.0-Komponente in das Design einfliessen: Eine interaktive Personensuche.

Aus den Fehlern von Partyguide schlau, legte ich besonderes Augenmerk auf XSS-Sicherheitslücken. Für Aussenstehende: XSS bedeutet das „Einschleusen“ von Code auf eine Web-Site. Je nach Art der Web-Site lassen sich so mehr oder weniger grosse Dummheiten anstellen. Bei Partyguide hatte man bei der Attacke beispielsweise Zugriff auf die Cookies des Benutzers, in denen das (glücklicherweise nach meiner Intervention) verschlüsselte Passwort abgelegt war.

Damit bei meiner Personensuche nicht ungewollt Code eingeschleust werden kann, der sich für eine XSS-Attacke missbrauchen liess, baute ich eine (hoffentlich recht zuverlässige) Sicherung ein:

 1 ...
 2 if(!isset($_GET['string'])) {
 3 $str_output .= '<p>Fehler: Formular nur teilweise übermittelt.</p>';
 4 die($str_output);
 5 }
 6
 7 $str_lookup_string = $_GET["string"];
 8 $str_lookup_string = preg_replace("/[^a-zA-ZäöüÄÖÜ]/",NULL,$str_lookup_string);
 9
10 if(strlen($str_lookup_string) < 3) {
11 $str_output .= '<p>Hinweis: Mind. 3 Zeichen eingeben.</p>';
12 die($str_output);
13 }
14 ...
15 $str_atom = $str_field . " LIKE '%" . mysql_escape_string($str_search_string) . "%'";
16 ...

Hier kurz einige erläuternde Erklärungen:

  • Zeile 2: Wurde die GET-Variable gar nicht erst übermittelt, ist etwas faul – Abbruch (Zeile 4). Ich beharre zudem auch darauf, dass eine GET-Variable hereinkommt und nicht POST oder sonstwas (Verwendung des GET-Arrays, nicht des REQUEST-Arrays)
  • Zeile 8: Da es sich um eine Personensuche handelt, haben Sonderzeichen nichts in der Anfrage verloren. Ich filtere diese mit PCRE aus. Und zwar so, dass ich festlege, was erlaubt ist und der Rest gelöscht wird – und nicht umgekehrt, dass ich festlege, was nicht erlaubt ist, und blöderweise doch noch etwas wichtiges vergesse, das durch den Check dann hindurchkommt. Wichtig ist hier insbesondere, dass die Markierer von HTML-Tags, > (grösser als) und < (kleiner als) weggefegt werden.
  • Zeile 10: Was beim Web-Shop von Digitec nervt, erscheint hier sinnvoll: Niemand wird wohl mit nur einem bestimmten Buchstaben (z.B. ‚e‘) nach Personen suchen. Deshalb verbieten wir zu kurze Suchanfragen lieber auch gleich (bei Digitec wiederum wäre es manchmal sinnvoll, wenn ich auch nur nach zwei Zeichen suchen könnte, weil technische Geräte nun mal oft so benannt sind).
  • Zeile 15: Obwohl der Such-String mittlerweile „clean“ sein sollte, gehe ich auf Nummer sicher, wenn ich ihn der Datenbank übergebe – und lasse mysql_escape_string drüberlaufen.

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 20. August 2006

Zurück

Danke für all‘ die Anfragen, die ich im Laufe dieser Woche erhalten habe. Ich darf meine Leser beruhigen: Weder bin ich mittlerweile Insasse einer geschlossenen Strafanstalt, noch wurde ich von Partyguide-Photographen zu Tode geblitzt.

Viel einfacher: Ferien! Ich war vom Samstag, 12. August 2006, bis Samstag, 19. August 2006, an der (azur)blauen Küste und habe dort mit Kollegen die Gegend um Nizza und St. Raphael unsicher gemacht. Wir haben sogar eine Sicherheitslücke entdeckt (und ausgenutzt), doch dazu später mehr.

Nun bin ich wohlbehalten zurück und werde es in den nächsten Tagen hoffentlich fertig bringen, ein Artikel „Ausgehen in Nizza“ (analog zu Ausgehen in Zürich – von Bernern für Berner, Ausgehen in Madrid – von Schweizern für Schweizer und Erste Osternacht in Kopenhagen) zu verfassen.

Notabene: Da ist man gerade mal sieben Tage weg, und schon spriesst ein neues Blog-Pflänzlein aus dem verregneten Boden. Torquie, herein, Willkommen im Verein!

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 10. August 2006

Heute in "heute" …

Wegen angeblichem „Hack“ auf Partyguide.ch

Strafanzeige gegen Blogger

NEUENEGG BE. Der Berner Mario Aeby (25) bloggte über Sicherheitslücken bei Partyguide.ch. Nun reichten die Macher Strafanzeige ein und verpetzten ihn beim Chef.

[…]

Quelle: Strafanzeige gegen Blogger

Endlich …

… erfahren Benutzer von Partyguide auf breiter Basis über die Unsicherheit des Community-Portals. Ich bin mir sicher, dass dieser zusätzliche Druck förderlich für die Sicherheit des Portals sein wird. Und vielleicht sogar den einen oder anderen Nutzer sensibilisiert, grundsätzlich vorsichtiger mit Passwörtern und persönlichen Daten im Internet zu hantieren.

In den Partyguide-Foren wird bereits Rege diskutiert. Löblich. (Dank: Torquie)

Jason vs. Mario

Jetzt gerade erreicht mich noch der Hinweis auf die Stellungnahme Jason Fellmanns auf den ‚heute‘-Artikel.

Lustiges Bildli – der Zeitung kann man garantiert nicht vorwerfen, dass zu wenig personalisiert wird *grins*.

Ich betone ein weiteres Mal: Ich habe die Zugangsdaten erst veröffentlicht, als die Passwörter bereits vom Betreiber geändert worden waren (wie sonst könnte ich das E-Mail abdrucken, dass einem kompromittierten User zugesandt wurde?!)

Mir ist zudem immer noch unverständlich, wieso Benutzer mit unsicheren Passwörtern dieses nicht beim nächsten Login zwingend wechseln mussten?

Aber eben … In unserem nächsten Leben ist zwischen mir und Jason alles vergessen und wir gehen einen Saufen. Versprochen. Vielleicht programmieren wir dann ja sogar zusammen eine Party-Web-Site? (Dank: Torquie)

Nocheinmal genau so?

Jein.

Ich weiss zwar jetzt, …

  • … dass in der Schweiz jeder jeden anzeigen kann,
  • … wie eine Befragung bei der Polizei abläuft,
  • … wie eine Hausdurchsuchung vonstatten geht (der Server darf nicht ordnungsgemäss heruntergefahren werden, sondern der Stromstecker muss im laufenden Betrieb gezogen werden),
  • … dass 808GB Festplattendaten beim Freund und Helfer in Bern nun quasi als Backup gelagert werden und auf die Beweissicherung warten,
  • … dass die Hardware dank meinem Kooperationswillen mit dem Hüter von Gesetz und Ordnung bereits nach knapp einer Woche anstelle nach drei bis vier Monaten wieder freigegeben wurde,
  • … dass die Blogosphäre zur Angelegenheit nicht geschwiegen hat und Solidarität, aber auch Kritik ausgeteilt hat, die ich zu Herzen nehmen werde
  • … ich nicht zuletzt bei meinen Kollegen für Unterhaltung („du siech wirsch so öppis vo iglochet, aeby!“) gesorgt habe,
  • … ich von unzähligen Tipps und gutgemeinten Ratschlägen förmlich erschlagen wurde (u.a. Gegenklage, Anzeige wegen Ehrverletzung, Anwalt nehmen),
  • … ich unbedingt eine Rechtschutzversicherung abschliessen muss,
  • … dass mein Umgang mit telefonischen Anfragen von Seiten der Medien verbessert werden konnte,
  • … dass der Hack erst so richtig an Nachrichtenwert gewann (und die nötige Reizschwelle überschritt), als Strafanzeige gegen mich erlassen wurde und Partyguide danach (nachdoppelnd?) zur Feder griff,

Dennoch: Alles in allem hinterlässt die ganze Sache einen zwiespältigen Eindruck. Nahe legen kann ich solche Aktionen niemandem.

Tags:
Labels: Neuenegg

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 9. August 2006

Partyguide heuert Sicherheits-Experten an

Yannick von Arx arbeitet für Swisscom AG in der Schweiz. In seiner Freizeit arbeitet er für PartyGuide GmbH als IT-Security Consultant.

Quelle: www.partyguide.ch (XSS) Cross Site Scripting Vulnerability

Ich wünsche Yannick beim Durchforsten von hunderten amateurhaft programmierten PHP-Files viel Ausdauer und Mut. Häb düre, Münggu!

Dank: Torquie (für den Adlerblick)

Tags:
Labels: Wirtschaft

Keine Kommentare | neuen Kommentar verfassen

Montag, 7. August 2006

Partyguide schreibt meinem Arbeitgeber einen Brief

Partyguide greift zur Feder

In der Ägäis muss wohl lange Zeit Windstille geherrscht haben, was Jason und die Partyguide-Argonauten dazu trieb, zur Feder zu greifen und ein literarisches Epos zu verfassen. Ziel: Ihre Heldentaten in aller Welt bekannt zu machen und sich bis in alle Ewigkeit in den Köpfen der Menschheit zu verewigen … Nun gut, ich helfe, wo ich kann! An mir soll’s nicht scheitern.

Die Beweggründe hinter dem Brief

Der Brief erzählt die Geschichte des (gemäss WEMF-Statistik) meistbesuchten schweizerischen Partyportales, welches es mit dem Datenschutz nicht so ernst nimmt. Durch amateurhafte und schludrige Programmierung waren wiederholt persönliche Daten seiner Nutzer gefährdet:

Beim ersten Hack waren alle damals ca. 200’000 Accounts betroffen (man konnte sich dank eines Cookie-Exploits in jedes beliebiges Konto einloggen, sofern man selber Benutzer der Site war), beim zweiten Hack konnten über ein Suchformular Passwörter von Benutzern ausfindig gemacht werden (Stichwort: SQL-Injection). Gab man ein bestimmtes Passwort in ein Formularfeld ein, lieferte die Suchfunktion der Web-Site alle Benutzer zurück, die dieses Passwort verwendeten. Hierzu war kein eigener Account auf dem Portal nötig – jedermann konnte mit minimen Kenntnissen von HTML die Suchanfrage um das Passwort-Feld erweitern. 13’000 Passwörtern fielen mir so innerhalb einer Woche in die Hände.

Datenschutz bei Partyguide – eine Farce?

Anstelle die Benutzer des Portals über die Sicherheitslöcher zu informieren (bis heute hat Partyguide nicht offiziell und direkt an seine Kunden gerichtet Stellung bezogen) und den gesamten Spaghetti-Code einem Sicherheits-Audit zu unterziehen, tat man dies, was man von Dilettanten nicht anderes erwarten konnte: Man köpfte den Überbringer der schlechten Nachricht und hoffte so, den sich aufdrängenden Fragen zu entkommen … Liebe Betreiber: Sicherheitslöcher löst man nicht, in dem man alle Hacker dieser Welt an die Wand stellt und erschiesst.

Adressaten des Briefes

Der Brief, der letzte Woche verschickt wurde, ging an meinen Arbeitgeber, die Universität Bern. Dort arbeite ich am Departement Klinische Forschung als „IT-Verantwortlicher“ (sorry, so lautet die Bezeichnung nun mal) und am Historischen Institut als Webmaster.

Ich möchte betonen: Die oben genannte Aufdeckung von Sicherheitslöchern wurden ausschliesslich von meinem Server zu Hause an der Stritenstrasse aus über einen Internetzugang von Cablecom Hispeed durchgeführt. Zu keiner Zeit habe ich dazu die Infrastruktur meines Arbeitgebers herangezogen. Für mich ist es deshalb etwas unverständlich, wieso mein Arbeitgeber über das Tun in meiner Freizeit informiert wird. Aber eben – bei Partyguide sollte mich eigentlich nichts mehr verwundern.

Der Inhalt des Briefes

Scan (PDF, 200kB)

Ich überlasse es der Blogosphäre selbst, sich ein Urteil über das Geschreibsel zu machen. Dieses wurde mir freundlicherweise von Kollege Liechti eingescannt und zur Verfügung gestellt.

Einige Leckerbissen (Hervorhebungen durch mich):

Der Grund dieses Schreibens an Sie ist rein informeller Natur. Es sind die höchst zweifelhaften und meines Erachtens verantwortungslosen Machenschaften eines Ihrer Mitarbeiter (evtl. Teilzeit). […]

Wir haben lange überlegt, Sie in dieser Sache überhaupt zu kontaktieren. Da es aber Herr Aeby trotz unserer Ermahnungen vorzieht weitere Eindring- und Hackversuche auf unserem System zu starten […] sehen wir uns gewzungen, Sie als eventuellen Arbeitgeber zu informieren.

Stellt euch vor – da weist ein Vergnügungsdampfer unzählige Löcher im Bug auf, und der Kapitän überlegt minutenlang, ob er den Matrosen, der die Löcher entdeckt hat, über Bord werfen soll. Ohne Rettungsring, versteht sich. Ich sehe die Leute hinter Partyguide förmlich, wie sehr sie mit sich gerungen haben – und doch, tjach, liess sich nichts machen. Der Brief musste raus!

Am Freitag den 09.06.2006 hat Herr Mario Aeby leider mit seinen privaten Attacken die Grenzen von Anstand und Moral bei weitem überschritten.

Grenzgänger Aeby – diesen Spruch drucke ich mir auf ein T-Shirt mit Partyguide-Logo … Was ist mit Grenzen des Gesetzes?

Durch einen Programmierfehler in unserer Suchabfrage ist Ihm dies auch nach mehrtägigen Versuchen gelungen.

Jungs, das Scriptlein habe ich in zwei Stunden zusammengezimmert. Es funktionierte danach über sieben Tage lang zufriedenstellend (und unbemerkt). Immerhin gibt Partyguide zu, einen (?) Programmierfehler begangen zu haben.

[…] Von einem Webmaster (zumal er dies ja an einem renommierten Institut ausübt) […]

Wow, da ist jemand genau im Bilde über das Historische Institut der Universität Bern …

[…] geschäftsschädigende Tat […] Wir werden alle Rechtsmittel in Erwägung ziehen […]

Partyguide ist keine kleine Partysite

[…]

Aha. Hat da jemand Komplexe? Selbstbewusstseinsstörungen? Eben gerade darum sollten doch solche Sicherheitslücken eher bei einem kleinen, personell unterdotierten Partyportälchen eher auftauchen als bei Partyguide?!

[…] Uns ist die Sicherheit unserer User wichtig und wir werden die Sicherheitsstandards laufend anpassen und verbessern.

Ob der Futur hier absichtlich gewählt wurde?

Anstelle sinnvoller Programmiertätigkeiten und Programmverbesserungen muss sich unser Systemprogrammierer mit den Log-Files und Protokollen auseinandersetzen, um die Machenschaften des Herrn Aeby zu kontrollieren.

Ich leide mit ihm – wer im Vorfeld halt nicht sicher programmiert, muss im Nachgang mit grösserem Aufwand kämpfen.

Zudem wird die Performance des Systems zusätzlich belastet, was „normale“ User mit grösseren Responsezeiten zu spüren kriegen. Der finanzielle Aufwand den wir investieren müssen ist für uns nicht mehr tragbar.

Partyguide – bald Konkurs? Her mit den Gönnerbeiträgen. Sofort.

Alle Hacker-Attacken wurden gemäss Aussage von seinem privaten PC gemacht. Es besteht keinerlei Zusammenhang zwischen der Strafanziege gegen Herrn Mario Aeby und Ihrem Institut. Wir erachten es als unsere Pflicht, Sie über die privaten Tätigkeiten Ihres Mitarbeiters zu informieren […]

Ich stelle mir vor, wie meine Vorgesetzten den Wisch durchlesen und auf der zweiten Seite gegen Schluss endlich erfahren, dass die pöhsen, pöhsen Hackereien nichts mit dem Arbeitgeber zu tun haben. Mir wäre es lieber, würde Partyguide in anderen Bereichen pflichtbewusst auftreten. Dann würden solche Briefe auch nicht nötig werden.

Ich weiss nicht, ob sich renommierte Institute wie die Ihren einen Webmaster mit solchen Verfehlungen leisten können oder möchten […]

… aber Jungs, jetzt wird’s schon gerade ein wenig deftig, nicht? Normalerweise wird man in der Schweiz entlassen, weil die Arbeitsleistung unbefriedigend ist, und nicht, weil der Mitarbeiter in seinem Privatleben Dinge tut, die Dritten nicht genehm sind.

[…] ohne Ihre Antwort nehme ich an, dass besagter Herr nicht/nicht mehr in Ihrem Institut angestellt ist […]

Hochachtungsvoll
Marcel Fellmann
Marketing PartyGuide.ch GmbH […]

Marcel Fellmann – Jasons Pappi? Hmmm, mal schauen, ob mein Pappi eine Replik auf diesen Brief schreiben möchte? Zwar, nein, ich lasse es wohl bleiben. Wo ist eigentlich mein Leiter Marketing? Der könnte doch zur Feder greifen …

Reaktionen und Kommentare von Bekannten

(Work in Progress; wird laufend ergänzt)

  • Mindestens ein Empfänger hat den Brief durchgelesen und ihn danach – weggeworfen.
  • „nur so näbäbii: isch scho leid, i eim Brief so viu Fallfähler … „
  • „und wenn das öpperem ir Uni mitteilt, isch das sicher nid dr Jason […] und Co., sondern d’Behörde oder ds Gricht …“
  • „ja, u när no so ä pseudo-formelle Stil. so wie aube d’Bischpiu i dä Bewerbigsratgeber unger „so nicht!“. di gliichi Information chönnt öppe uf ei Drittu Text kürzt wärde …“
  • „ig meine, ke struktur, ke ileitig, kes resume am schluss: so wime eigentlech aständigi briefe schriebt …
    o süsch: wortweiderholige, 2x leider i eim satz, unlogischi sätz, u eifach konzeptlos, me fragdsech „was wot mir dä giu mit däm fötzu mitteile?““
  • „zum geniessen:
    nicht: ‚wir haben angepasst‘, nicht: ‚wir passen‘, nein: ‚wir werden anpassen‘.
    dann fangt doch an! die zukunftsform wird ja wohl nicht umsonst gewählt worden sein. sie haben ja lange darüber nachgedacht, ob sie den brief überhaupt schreiben wollen. dann haben sie auch die worte mit bedacht gewählt.“
  • „und überhaupt: ‚verbessern‘.
    falsche sachen werden verbessert. dann ist wohl noch immer der wurm drin. komischer marketingjunge, keine ahnung von positiver wortwahl. optimieren. immer optimieren. zu verbessern gibt es nichts bei uns. wir können nur noch optimieren.“
  • „Wow, dr Hammer! Scho nume d Qualität gschwige denn dr Inhalt vo däm Schribe
    beschtätige wieder mau, was das für Amateure si…“
  • „Die hei überreagiert, vo mir us gseh. Vor allem… Darfsch das? Es isch ja ersch e Azeig und no überhoupt nüt gseit?“
  • „Der Brief enthält kein Datum aber der Poststempel ist vom 11. Juli 2006. Der Inhalt des Briefes sagt ungefähr, dass es verwerflich für die Uni ist, ein schlimmer Finger wie dich angestellt zu haben. Also eigentlich eine indirekte Aufforderung zur Kündigung. Ich nenne das Rufmord…“
  • „Im Ernst, so einen Schmarren habe ich noch nie gehört, das sind ja nicht nur programmatisch Anfänger….“
  • „Wird eh zum Bumerang für pg. Sobald wir mehr Zeit haben, geht’s rund“

Manuelle Trackbacks

(Trackback – Links auf Artikel, die inhaltlich an diesen Artikel anknüpfen)

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 27. Juli 2006

20 Minuten kennt das Pendlerblog

Man vermutete es seit dem Tag, an dem der erste Pendlerblog-Artikel online ging (Anm. d. Red: War das wirklich der erste Pendlerblog-Artikel?) – nun ist die Katze aus dem Sack: Die Qualitätszeitung 20 Minuten gibt – indirekt zwar – zu, das Pendlerblog zu kennen.

Wer nämlich einem Link auf dem Pendlerblog folgt, der auf die Web-Site von 20 Minuten zeigt, wird schnurstracks weitergeleitet auf …

Blogs auf Werbe-Tour: Die bestochenen Unbestechlichen

Notabene: Safari-Benutzer sind (wie immer) ein wenig bevorteilt: Öffnet man einen Link in einem neuen Tab, wird der Referer netterweise nicht mitgesendet, die Umleitung findet nicht statt.

Man kann es drehen wie man will – „ist die [Umleitung] nicht süss?“ entfährt es dem Leser des Artikels, der die Machenschaften von 20 Minuten gegen das ganz, ganz, ganz pöse Pendlerblog aufdeckt. Aber 20 Minuten sei gedankt: Die hinterhältige Umleitung entspricht im Grunde ja wirklich 1:1 dem Image des Blattes. Viel Gebastel, und am Ende kommt nichts gescheites raus. Man schmückt sich sozusagen mit fremden Federn, indem man auf die Süddeutsche weiterleitet – was wohl der Herausgeber dieses wirklichen Qualitätsblattes von der Umleitung denkt?

Sowieso: Ist es nicht pure Ironie, dass gerade dasjenige Blatt, das wohl jahraus, jahrein die meisten Artikel bringt, hinter denen man Sponsoren vermutet, Bloggern vorwirft, dass sie käuflich seien? Uns also – je nach Standpunkt – in dieselbe Liga hievt oder degradiert?

Schauen wir mal, ob die Zensoren nun die halbe Schweizer Blogosphäre auf den Index nehmen … mich eingeschlossen. Bei Partyguide habe ich es dorthin jedenfalls schon geschafft.

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Montag, 24. Juli 2006

Für Jason

Tool überprüft PHP-Anwendungen auf Fehler

(Insider für alle Personen, die think eMeidi v. Partyguide bereits seit einer Weile mitverfolgen)

Wobei dieser Kommentator eben im Grunde auch Recht hat:

konsistente Programmierkonventionen (oder besser: gute,
wiederverwendbare Architekturen) + Testfälle/Fixtures (die
„verbotene“ und „worst cases“ abdecken/dokumentieren) und einen
kühlen, wachen Kopf bei der Arbeit … soll‘ auch helfen — und all
das „fast für umsonst“.

Quelle: PHPUnit +

Doch davon ist man bei PG noch weit entfernt …

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Montag, 24. Juli 2006

Partyguide & Co. werden für Justiz interessant

Die Zürcher Stadtpolizei hat zwei junge Männer überführt, die sich ihr Partyleben mit Raubüberfällen finanzierten. Die Räuber wurden von zwei Opfern auf einer Party-Webseite wieder erkannt. Die Polizei hat ihnen 15 Straftaten nachweisen können.

Die Räuber im Alter von 17 und 22 Jahren verbrachten ihre Freizeit vor allem an Parties. Und das Party-Leben wurde ihnen auch zum Verhängnis. Fotografien der beiden feiernden jungen Schweizer landeten auf einer Webseite für Partygänger.

Quelle: Opfer erkennen Täter auf Party-Webseite

Kollege Ritz, der in Luzern an einer Private Fiction-Party von einem pöbelnden Polen niedergeschlagen wurde, fand das Porträt des Täters später auch auf Tilllate. Er ging aber intelligenter vor: Gleich nach der Attacke rief er die Polizei, die den Prügler noch vor Ende der Party in Gewahrsam nahm. Der Blondie kam aus Ostermundigen.

Ob der Depot-Dieb vom Gurten, der sich im Vorbeigehen u.a. flink des Tellers meines Bruders bemächtigte, um es danach mit dutzenden anderen Teller beim Depot-Stand in Bargeld umzutauschen, auch auf Party-Sites zu finden ist, ist nicht bekannt. Vielleicht durchsuchen ich und mein Bruder ja mal die unzähligen Fotos vom Gurtenfestival nach diesem Halbaffen – übrigens ebenfalls wohnhaft in Ostermundigen? Und sowas von einem Crew-Mitglied …

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 20. Juli 2006

Partyguide: Die Abstimmung

Zurecht werden sich meine Leser seit Montag gefragt haben, wo denn eigentlich nun die versprochenen Resultate der Umfrage unter meinen Leser bleibt?

Klar, werden meine Kritiker sagen: Die Resultate sind niederschmetternd, deshalb veröffentlicht er sie nicht. Falsch. Oder: think eMeidi benötigt noch ein wenig Zeit, um die Resultate zu fälschen. Seine abgrundtiefe Bösheit hat er ja bei drei Partyguide-Hacks unter Beweis gestellt – wieso sollte er hier anders handeln?

Nun, um es kurz zu machen – nichts von alledem ist wahr. Hier sind die Resultate:

  • Ja, such dir endlich ein richtiges Hobby! – 22
  • Nein, ohne Partyguide-Hacks ist das Leben todlangweilig! – 41

Quelle: Resultate der Umfrage

Das Resultat ist nicht berauschend, aber ich hätte nicht gedacht, dass mein Tun bei der Mehrheit der Abstimmenden nicht auf unverständliches Kopfschütteln stösst, wie das Partyguide-Fanboys immer darstellen möchten.

Scripts richtig absichern

Natürlich wäre es lächerlich, derart über die Unfähigkeit der Partyguide-Programmierer herzuziehen, und dann dieselben Böcke zu schiessen wie Oberprogrammierer Jason und seine Argonauten. Ich habe deshalb die bei mir üblichen Sicherheitsstandards auch bei diesem Mini-Script angewendet. Ich schlage vor, dass Jason und seine Scripting-Slaves nun ihre Ohren spitzen und genau mitlesen. Hier steht ganz, ganz, ganz viel wichtiges, wie man sichere Web-Scripts entwickelt (gilt nicht nur für PHP – die grundlegenden Regeln gelten für alle Scriptingsprachen):

  • register_globals = off. Jeder ernstzunehmende PHP-Programmierer, der persönliche Daten von Benutzern in seiner DB liegen hat, muss den entsprechenden Abschnitt im PHP-Manual gelesen haben. Wenn nicht: An die Wand mit ihm.
  • POST und nichts anderes. Die Formulardaten müssen in den $_POST-Variablen daherkommen. Ist das $_POST-Array leer, bricht das Script mit die(); ab. $_REQUEST und $_GET werden nicht beachtet (auf Partyguide übrigens schon …) Dies verhindert, dass Spassvögel wie Kollege fixnetdata (s. unten), die mit wget und GET-Variablen Amok laufen (Script-Kiddie halt), Schaden anrichten können.
  • <input type=“hidden“> Die Variable process des Submit-Buttons muss auch im $_POST-Array vorkommen, sonst ist etwas faul. Es wäre dann zu vermuten, dass die Abfrage nicht von einem Browser aus gesendet wurde.
  • Don’t trust GPC: Alles was von Clients kommt, betrachtet man per se als nicht vertrauenswürdig. Plausiblitätstest sind nötig (besonders beim dritten Partyguide-Hack mangelte es eben gerade an diesem Plausiblitätstest. Motto: „Der Client will das Feld passwort durchsuchen – dann durchsuchen wir es halt und geben es zurück. Er wird schon wissen, wieso er das will“.). Ich speichere also nicht einfach $_POST['value'] direkt in die Datenbank, sondern a) wandle es mit intval(); in einen Integer-Wert um und prüfe dann, ob der Wert 0 oder 1 entspricht. Falls nicht, stirbt das Script mit die();
  • Loggen, loggen, loggen: Man nimmt bei einer solchen Umfrage eben halt auch nicht einfach nur das Abstimmungsresultat entgegen. Ich loggte – sofern alle vorangegangen Tests bestanden wurden – folgende Informationen:
    • Datum & Uhrzeit: Sehr wichtig, vgl. Abschnitt Falschwähler in den Resultaten
    • IP-Adresse: Wer sendet die Anfrage? (beachte hierbei auch $_SERVER['X-FORWARDED-FOR'], das von einigen Proxy-Server mitgesendet wird und die tatsächliche IP-Adresse des Clients enthält. Sowohl bei proxy.unibe.ch wie auch proxy.hispeed.ch wird dieser Wert mitgesendet – von anonymen surfen als keine Spur, wenn auch kaum jemand dieses Feld mitloggt).
    • User Agent: Mit welchem Browser wird abgestimmt?

Der Witzbold von fixnetdata

Keine Ahnung, wer du bist, aber du hast noch viel zu lernen:

  • Zuerst stimmst du manuell 28 Mal ab.
  • Danach zeigst du dein wahres Können, indem du wget bemühst und doch tatsächlich meinst, dass ich GET-Variablen akzeptiere werde.

Gerade zweitere Abstimmungsfälschung fand ich sehr amüsant und machte mich mit der Vorgehensweise anhand der access.log kundig:

ibook:~/Desktop mario$ cat access_log.2006-07-12 | grep fixnet | grep HEAD | wc -l
    9562

9562 Aufrufe gab es also insgesamt von Herr … nennen wir ihn … fixnetdata (oder war es eine sie? dann sollten wir uns einmal kennen lernen … *grins*).

Hier ein Beispiel:

117-183.63-81.stat.fixnetdata.ch - - [12/Jul/2006:16:10:31 +0200] "HEAD /scripts/vote.php?value=0 HTTP/1.1" 200 - "-" "curl/7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7i zlib/1.2.3"
117-183.63-81.stat.fixnetdata.ch - - [12/Jul/2006:16:10:31 +0200] "HEAD / HTTP/1.1" 200 - "-" "curl/7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7i zlib/1.2.3"

Erkenntnis am Rande: Ist es nicht überaus Schade, dass solche Personen auch Mac-User sind?

Und wann startete und endete die Attacke eigentlich?

cat access_log.2006-07-12 | grep fixnet | grep HEAD | cut -d " " -f 4
[12/Jul/2006:15:51:55
...
[12/Jul/2006:16:10:37

Wenn das sein Arbeitgeber wüsste …

So, und jetzt nähme mich Wunder, was du dir dabei gedacht hast. Natürlich darfst du anonym antworten, das passt zu deinem Charakter.

Tags:
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 11. Juli 2006

"Lass gefälligst Partyguide in Ruhe!"

Da kriege ich doch gerade folgendes Mail rein:

auso sorry, aber du bisch ja äuä dr primitivscht depp wos git uf däre wält.

lass doch mol pg in friede!!!!

danke und gruess
karin

Quelle: Karin S. an Mario Aeby, 11. Juli 2006, 22:04 Uhr (voller Name und E-Mail-Adresse der Redaktion bekannt).

… und entschliesse mich spontan zu einer kleinen Frage-Runde:

 Ja, such dir endlich ein richtiges Hobby!
 Nein, ohne Partyguide-Hacks ist das Leben todlangweilig!
 

Nachtrag

Darf ich darauf hinweisen, dass Mehrfach-Votings nicht toleriert werden – wird sind auch in der Blogosphäre eine Demokratie, sprich: One (Wo)Man, One Vote!

Bisherige Witzbolde:

http_ip dns num_votes
81.63.183.117 *.stat.fixnetdata.ch 22
138.190.15.46 proxy.swisscom.com 4
212.101.19.216 static-*.adsl.solnet.ch 4
146.67.250.181 not found: 3(NXDOMAIN) 3

Hits von Proxy-Servern (Hier: Swisscom – Torquie?) werde ich wohl nicht mitzählen können …

Aus dem Abstimmungsstudio …

Ich werde die Auswertungen dann online stellen, wenn kaum mehr neue Votes hinzukommen (sehr wahrscheinlich nach dem Gurtenfestival am Montag, 17. Juli 2006).

Und ja, ich garantiere Transparenz wie sie bei Partyguide für über 13’000 Passwörter auch galt.

Oh, und wer sich berufen fühlt, kann versuchen, mein Scriptlein zu hacken *smile*

Worum geht’s überhaupt?

Auf think eMeidi sind bisher drei Berichte über kritische Schwachstellen der Community-Site Partyguide veröffentlicht worden, die Hackern ohne grossen Aufwand Zugang zu tausenden Benutzerkonten von Partyguide verschafften:

Tags:
Labels: Wirtschaft

Keine Kommentare | neuen Kommentar verfassen