DHBW Mannheim: 5 Jahre mit einem ungefixten eval()-Exploit

Posted in DHBW, Sicherheit, Webdevelopment on January 16th, 2011 by admin – 3 Comments

<update>
Inzwischen habe ich eine Antwort der DH bekommen, dass das Thema im nächsten IT-Ausschuss (was und wann auch immer das ist) besprochen wird. Auch wurde mir getwittert, dass die Noten für die Zeugnisse in einer sicheren Datenbank liegen, also Änderungen keine Zeugnisse verfälscht haben.
</update>

In unserem aktuellen Semester an der DHBW Mannheim war die Vorlesung “IT-Security” mit einem entsprechenden Projekt gekoppelt. Unsere Gruppe entschied sich, die eGroupware der DHBW Mannheim (über die die Noten und Mails der Semester 2008 und älter verwaltet wurden) einem Sicherheitscheck zu unterziehen.

Da wir verständlicherweise nicht direkt am DH-System testen durften, haben wir uns aus dem SVN der Entwickler die verwendete Version ausgecheckt und diese auf einem Testserver installiert. Dass wir irgendwas finden würden, war schnell klar: Die verwendete Version war 6 Jahre alt und wurde nie aktualisiert.

Wir vermuteten, ein paar SQL-Injections und ein paar XSS-Lücken zu finden. Unsere Erwartungen wurde jedoch übertroffen: Durch einfaches Str+F in dem Commit-Log der Entwickler konnte wir einen Fix finden, der mit “Critical” und “Security” getaggt war. Wenig später war klar, dass es sich um einen Exploit in der Library “XMLRPC for PHP” handelte, der bereits 2005 gefixt wurde und es Angreifern erlaubte, beliebigen PHP-Code via eval() auszuführen.

Höflich, wie wir sind, haben wir das Rechenzentrum der DH in einer E-Mail darauf hingewiesen. Die erste Mail wurde ignoriert, die zweite (zwei Wochen später) relativ schnell beantwortet: Ein Admin teilte mir mit, dass die betroffene Datei entfernt wurde und somit das akute Sicherheitsloch geschlossen sei. Es sei also wieder alles in Ordnung.

WTF? Welcher verantwortungslose Admin lässt ein 5 Jahre lang sperrangelweit offenes System einfach so weiterlaufen? Das System ist doch zu 95% bereits kompromittiert. Wir sind doch nicht die ersten Studenten der DH, die Commit-Logs durchsuchen können!

Ich werfe zur weiteren Erheiterung mal ein paar Fakten in den Raum:

  • Es wurden 5 Jahre lang keine Updates eingespielt, nicht mal ein “CRITICAL security update” wie das betreffende 1.0.0.009-2.
  • Die eGroupware verwaltete E-Mails von tausenden Studenten und somit personenbezogene Daten nach §3 BdsG. Das alleine ist ausreichend für den Gesetzgeber besondere Sorgfalt bei der Sicherheit zu verlangen. Ich bin kein Jurist, aber ich lese das Ganze so: Laut §42 (a) müssen die Betroffenen (also hier die Studenten) informiert werden. Laut §43 drohen bei Versäumnis Bußgelder bis 300.000 €.
  • Die Noten aller Studenten <= 2008 wurden über dieses System ausgelesen. Es konnte also irgendeine PHP-Routine die Noten anfordern und somit konnte es auch ein Angreifer.
  • Ob man damit Noten verändern konnte und — wenn ja — ob diese dann Grundlage für das Zeugnis waren, lässt sich nicht sagen (Siehe Update). Bei all der Schlamperei würde es mich aber nicht wundern.
  • Die Passwörter der eGroupware-Benutzer werden auch für andere System der DHBW (wie Moodle, das WLAN und das neuere E-Mail-System) verwendet. Um an diese Passwörter zu kommen, reicht es, einen simplen Form-Logger in den Login-Prozess einzubauen oder (wenn der Angreifer das nötige Know-How hatte) diese mit Rainbow-Tables und dem einfach auszulesenden Security-Salt via Amazon ECS für ca. 1$/Passwort errechnen zu lassen. (Siehe dazu c’t 2/2011, Seite 151)
  • In den meisten E-Mail-Postfächern werden wohl noch die Zugangsdaten für MSDNAA gelegen haben. Microsoft würde sich freuen, wen sie erführen, dass Angreifer dadurch Zugriff auf tausende von Lizenzkeys hatten.

Fazit: Es wurde ordentlich bei der IT-Sicherheit geschlampt und in Folge dessen war es 5 Jahre lang möglich, Mails von DHBW-Studenten zu lesen, fremde Noten abzufragen, eventuell Noten zu verändern, Lizenzen für Microsoft-Produkte anzufordern und das Benutzerpasswort der Studenten auszulesen. Nebenbei könnte die ganze Situation für die DH sogar rechtliche Folgen nach sich ziehen.

Inzwischen ist der eGroupware-Server abgeschaltet. Betreffend meiner zweiten, etwas direkteren Mail warte ich immer noch auf Antwort. Es bleibt also nur folgende Frage zu klären: Wie um alles in der Welt kann ein Haufen Admins in Hörweite zu IT-Security Vorlesungen es 5 Jahre lang versäumen, eine kritische Webanwendung mit Updates zu versorgen? Habt ihr euer Fachwissen im Lotto gewonnen?

Image previewer for Java

Posted in Development, Java on January 8th, 2011 by admin – Be the first to comment

At the moment I’m processing images in a CLI-Java-application. For debugging puposes it’s sometimes nice to have a way to display Image objects, like some kind of visual replacement for System.out.println(xyz).

This small method might be helpful in such cases:

public static void preview(Image image) {
	JFrame frame = new JFrame();
	JLabel label = new JLabel(new ImageIcon(image));
	frame.getContentPane().add(label, BorderLayout.CENTER);
	frame.pack();
	frame.setVisible(true);
}

Use Notifo’s API with Java

Posted in Development, Java, iPhone on January 8th, 2011 by admin – Be the first to comment

This is just a small hack to use Notifo’s API with Java:

URL url = new URL("https://api.notifo.com/v1/send_notification");
URLConnection connection = url.openConnection();
String authorizationString = "Basic " + new String(Base64.encodeBase64((username + ":" + apiSecret).getBytes()));
connection.setRequestProperty("Authorization", authorizationString);
connection.setDoOutput(true);
OutputStreamWriter output = new OutputStreamWriter(connection.getOutputStream());
output.write("to=m");
output.write("&amp;msg="+URLEncoder.encode(msg,"UTF8"));
output.write("&amp;uri="+URLEncoder.encode(uri,"UTF8"));
output.write("&amp;label="+URLEncoder.encode(label,"UTF8"));
output.write("&amp;title="+URLEncoder.encode(title,"UTF8"));
output.flush();
output.close();
connection.getInputStream().close();

(Remember: This is just a quick’n'dirty solution. It just works for me and is not especially beautiful)

This code depends on Apache Commons for base64-encoding.

Feel free to drop me a line, if this was helpful. The code is released under WTFPL ;-)

DHBW Connect – Autologin für das WLan der DHBW Mannheim

Posted in DHBW, Development, Java on December 5th, 2010 by admin – Be the first to comment

Letztes Woche ist es fertig geworden: “DHBW Connect” ist ein kleines Java-Programm, welches dich bei existierender WLan-Verbindung automatisch anmeldet. Du musst also nur noch ein einziges Mal deinen Benutzernamen und dein Passwort eingeben. (Wichtig: Nach Start der Datei passiert nicht viel – Es wird nur ein Trayicon neben der Uhr angezeigt. Um euer Passwort einzustellen genügt ein Rechtsklick|Konfigurieren auf dieses Icon.)

Netter Nebeneffekt: Durch den Verbindungscheck alle 10 Sekunden ist die Verbindung gefühlt ein wenig stabiler. Vielleicht ist das aber auch nur Einbildung… ;-)

Hier ist der Download. Wer mitentwickeln will oder eine intelligente Erweiterung hat, kann das Programm gerne bei Github forken.

Integration

Posted in Politik on October 24th, 2010 by admin – Be the first to comment

Die momentane Integrationsdebatte ist an Spießbürgerlichkeit eigentlich kaum noch zu überbieten. Da schreibt ein Möchtegern-Intellektueller über die angebliche Islamisierung Deutschlands (als ob der in seinem dicken Benz irgendeinen Bezug zur Realität hätte) und schon fühlen sich haufenweise (nicht nur CDU-)Politiker dazu berufen, das untergehende Abendland mit an Popularismus kaum zu überbietenden Ideen zu retten.

Um solche Thesen weiter zu befeuern, hat das deutsche Qualitätsfernsehen natürlich nichts besseres zu tun, als naiv aussehende Muslime zu interviewen, wie sie den zur Steinigung bei Ehebruch im Koran (sic!) stehen. Klar, irgendwann sagt einer irgendwas wie “Was im Koran steht, ist für uns Gesetz, aber [Schnitt]” und RTL2 ist zufrieden. Ich will gar nicht wissen, was es für einen Aufschrei geben würde, wenn man irgendeinen katholischen Würdeträger vor laufender Kamera fragen würde, ob sie bei Ehebruch eine geringere Strafe als die in der Bibel vorgeschriebene Tötung (Deut. 22:22) akzeptieren könnten: Nein, das wäre da Blasphemie. Wir Deutschen wissen ja, dass Christen intelligent genug sind, solche Texte im historischen und sozialen Kontext zu sehen und daher nie so etwas wörtlich nehmen würden. Nur Muslime sind alle dumm und halten sich ohne Nachzudenken an einen uralten Text. (Achtung, Ironie! Viel zu viele halten scheinen leider wirklich so zu denken…)

Genaus so doppelmoralisch ist die abstrakte Angst vor islamischen Terroristen (Wann gab’s da den das letzte mal? Selbst 9/11 war kein religiöser Anschlag, sondern ein politischer) während auf dem Paradeplatz regelmäßig christliche Spinner ihre Weltuntergangsdrohungen und Wachtürme verteilen dürfen. Kirchen sind schützenswerte Orte, Moscheen sollten allesamt vom BND überwacht werden. Nonnen geben wie selbstverständlich Schulunterricht in Roben, Muslime mit Kopftuch sind aber fanatische Symbole einer unterdrückenden Religion.

Aber auch ohne Religion ist die Diskussion um Integration auf einem ziemlich traurigen BILD-Niveau: Am liebsten würden Politiker allen Immigranten die deutsche Sprache vorschreiben und ihnen Ihre verbieten (Wollen wir dann auch gleich alle Bayern ausweisen? Live-Ticker: Deutsch ist in Deutschland nur Amtssprache, mehr nicht. Werft man einen Blick auf die Schweiz, die leben auch noch.) Wahrscheinlich kommen solche Ideen von Personen, die ihren Urlaub auf “Malle” verbringen und sich freuen, dass im Hotel alle Deutsch sprechen. Einwandern dürfen Ausländer natürlich weiterhin, vorausgesetzt sie sind von ersten Tag an fleißige, kulturell angepasste Arbeiter mit hoher Qualifikation und niedrigen Lohnvorstellungen.

Woher kommt dieser konservative Schwachsinn? Hat die CDU Angst, bald würden nicht mehr genug Leute ihre Lügen verstehen? Warum nennt man das ganze überhaupt noch Integration und nicht Gleichmacherei? Wenn das so weiter geht, herrscht hier bald Kulturinzest und Langeweile.

Reservierung ad absurdum

Posted in Real Life on October 21st, 2010 by admin – Be the first to comment

Reservierungen in der Bahn sind ein absurder Weg, aus einer planerischen Unfähigkeit (nämlich jedem zahlenden Mitfahrer einen Sitzplatz zur Verfügung zu stellen) ein Geschäftsmodell zu machen.

Reservierungen stellen jedoch für “nicht reservierende” Pendler meistens kein wirkliches Problem dar, denn man kann gut abschätzen, wann eine solche wirklich nötig ist und in welchem Zug immer ausreichend Plätz vorhanden sind. Keine generelle Reservierung zu haben ist also in diesem Fall kein Nachteil.

Dreist finde ich jedoch das Vorgehen der Bahn, in einigen Zügen einfach alle Plätze als reserviert zu markieren – und das obwohl die Anzeigetafeln komplett digitalisiert sind und die Daten für Reservierungen zentral vorliegen. Statt wie in normalen Zügen den Einsteigenden also kenntlich zu machen, auf welche Plätze sie sich auch ohne Reservierung setzten können, spielt die Bahn mit diesen Reisenden “3. Klasse” russisches Roulette nach dem Motto: “Es ist egal wohin du dich setzt, wenn aber einer mit Reservierung kommt steh’ gefälligst auf.” Am besten fühlt man sich dann auch noch schuldig, schließlich sitzt man ohne Reservierung auf einem reservierten Platz.

Das Ziel ist klar: Wer sich darüber ärgert, dass er selbst bei mittelmäßig ausgelasteten Zügen von seinem Platz vertrieben wird, der kauft sich vielleicht in Zukunft auch eine Reservierung.

Zum Mitmeißeln: Waren Reservierungen früher nur dann nötig, wenn alle Sitzplätze absehbar besetzt sind, sind in solchen Zügen Reservierungen die einzige Möglichkeit, sich nicht dauernd Gedanken machen zu müssen, ob man nicht am nächsten Bahnhof von seinem Platz gescheucht wird.

So etwas nennt man heutzutage wohl “Service am Kunden”. Früher nannte man so etwas Schutzgeld.

3D-Text mit CSS3

Posted in CSS, Tutorial, Typographie, Webdevelopment on October 16th, 2010 by admin – Be the first to comment

Ein netter Effekt, den ich auf html5boilerplate.com gefunden habe:

Der Effekt funktioniert (natürlich) nicht im Internet Explorer, aber wen stört das schon?

Hier der CSS-Code:

font-family: MolotRegular, Arial, sans-serif; /* Am besten eignet sich eine kantige Schriftart */
text-shadow: black 1px 1px 0px, #476871 2px 2px 0px, #476871 3px 3px 0px, #476871 4px 4px 0px, #476871 5px 5px 0px, #476871 6px 6px 0px, #476871 7px 7px 0px; /* Netter Trick, nicht? */
text-transform: uppercase; /* Verschandle nicht dein HTML mit Großbuchstaben */

Die Schrift ist übrigens auf FontSquirrel zu finden, aber passt bei dieser Lizenz bitte höllisch auf!

Sehr geehrter Internet Explorer 6 Benutzer,

Posted in Blog, Google, Sicherheit, Webdevelopment on October 13th, 2010 by admin – 1 Comment

wie Ihnen inzwischen vielleicht schon aufgefallen ist, sehen viele meiner Webseiten in ihrem Browser nicht besonders schön aus, funktionieren nicht oder beschweren sich über ominöse Script-Fehler. Ich möchte Ihnen hiermit den Grund mitteilen, woher diese Probleme kommen:

Ihr Browser gehört zu den ältesten noch anzutreffenden Versionen und stammt aus dem Jahr 2001. Die aktuelle Ausgabe trägt die Versionsnummer 8 und der Hersteller Microsoft ist kurz davor die Version 9 fertigzustellen. Aus diesem Grund werden viele Techniken und Standarts, auf die das heutige Internet aufbaut von diesem alten Browser nicht unterstützt. Schlimmer noch: Der Internet Explorer 6 ist in der Vergangenheit eines der offensten Einfallstore für Viren und Trojaner gewesen, zeitweise wurde sogar von Regierungsebene davor gewarnt ihn einzusetzten.

Leider ist die diese alte Version auch heute noch der Standardbrowser vieler Benutzer, den er ist Teil des Windows XP Betriebssystems – Viele innovative Entwickungen wurden in den letzten Jahren durch die noch zu große Verbreitung der 6er Version erschwert. Viele Webentwickler und Firmen, unter anderem YouTube und einige Google Dienst, sind inzwischen dazu übergegangen, den Internet Explorer 6 nicht mehr zu unterstüzzene. Auch ich habe mich entschlossen, in der 6er Version nicht mehr zu testen, den viele Fehler sind meistens schwer zu lokalisieren und erfordern einen enormen Zeitaufwand sie zu beheben.

Ich bitte Sie daher, sich kurz die Zeit zu nehmen (wir sprechen hier von nur zirka 5 Minuten) um Ihren Browser zu updaten. Wollen sie bei einer Microsoft-Entwicklung bleiben, können sie hier den Internet Explorer 8 downloaden. Vielleicht kann ich Sie aber auch davon überzeugen, sich eine der (in vielerlei Hinsicht dem Microsoft Produkt überlegenen) Alternativen Mozilla Firefox oder Google Chrome anzuschauen – Sie werden bald feststellen, dass das Surfen im Internet auf einmal viel schneller, prakischer und angenehmer sein kann. Alle drei Browser sind kostenfrei verfügbar und sorgen beim Installieren dafür, dass ihre Lesezeichen automatisch übernommen werden.

Sollten Sie Fragen oder Bedenken haben, können Sie sich jederzeit gerne an mich wenden. Ich helfe ihnen auch gerne bei jedglichen Problem, die durch den Umstieg entstehen sollten. Meine E-Mail-Adresse ist: mail@marekventur.de

Mit freundlichen Grüßen,
Marek Ventur

Subdomainumzug

Posted in Blog, Google, Webdevelopment on October 13th, 2010 by admin – Be the first to comment

Wie ich vor kurzem schrieb habe ich die Startseite meiner Haus-und-Hof-Domain von “http://de.marekventur.de” (es gab auch einen englischen Pedant dazu) auf “http://marekventur.de” umgestellt. Das erschien mir sinnvoll, da ich so nicht mehr 2 Seiten pflegen musste und die Zahl derer, die mit den paar englischen Wörtern nicht klar kommen doch wohl ziemlich gegen null geht.

Leider hatte ich diese Rechnung ohne Google gemacht: Bisher war bei der Suche nach meinem Namen (und das war auch so irgendwie das Ziel) nicht Facebook oder Twitter ganz oben, sondern “http://de.marekventur.de” – Ich muss ja nicht jedem potenziellen Arbeitgeber die Suche nach vorzeigbaren Infos schwerer machen als nötig. Blöd nur, dass die Crawler sich renitent weigern, die neue Domain zu indizieren, und dass obwohl ich die Regeln (301-Weiterleitung, Sitemap einreichen, Backlinks setzten, …) befolgt habe.

Technisch problematische erscheint mir dieser Umzug eigentlich in keinster Weise, jedoch scheint sich Google (und Bing ist übrigens kaum besser…) nicht bequemen zu wollen, mal kurz vorbeizukommen und ihren Index anzupassen. Grml!

An dieser Stelle möchte ich daher einen dicken Dank an Kevin Niehage alias Weizenspreu richten, der mir jetzt mit 2 dicken Backlinks (u.A. von seinem Blog WeizenSpr.eu) kräftige Schützenhilfe gibt.

Aus diesem Grund ein Rat an Alle, die mit dem Gedanken spielen auch irgendwann mal einen Domainumzug durchzuführen: Überlegt es euch zweimal; Suchmaschinen können manchmal sehr dickköpfig sein.

DHBW Mannheim: Fassadenflickerei

Posted in DHBW on October 9th, 2010 by admin – Be the first to comment


War ich mir letztens noch nicht sicher, ob die neue “Hülle” des alten Trakts nur Dekoration ist, hab ich doch jetzt etwas entdeckt, was es ziemlich offensichtlich macht, dass die weiße Fassade nur für Außenwirkung gedacht ist: Die neue, weiße Außenhaut wird es zum Innenhof hin nicht geben. Das alte Graubraun ist dort sowieso nur von den Studenten zu sehen, also warum Geld dafür ausgeben?

Für alle die das nicht glauben: Oben auf dem Photo kann man sehen, dass die weiße Material schön bündig mit der Mauer zum Innenhof abschließt.