| Willkommen 38.107.191.104 | |
| Online | Gäste: 26 Mitglieder: 1, ihja Auf dieser Seite: 1 Mitglieder: 3030, neuestes ist HandMad3 |
| Neueste 5 Downloads | Sophos A bis Z der Computersicherheit Sophos, Allgemein (Dokumente), 20. Jul 08 : 12:10 Dieses Büchlein wird von Sophos zu Werbezwecken verdient. Es stellt in einem ersten Teil die Bedrohungen von A bis Z, wie man sie im Internet antrifft, vor. In gleicherweise werden im zweiten Teil Schutzmassnahmen erwähnt. Kurz und bündig wird so der Leser an die Materie herangeführt. Technische Details und weiterführende Diskussionen fehlen, so dass es wirklich nur als seichte Unterhaltung und Einführung gedacht ist.
eBay Hack (S.M.) S.M. (aka. SevenUp), Social Hacking (Dokumente), 20. Jul 08 : 12:03 Dieses nicht unumstrittene Dokument bespricht Schritt für Schritt, wie ein technisch gestütztes Phishing per HTML-Email und PHP-Skript durchgeführt werden kann, um Login-Informationen für eBay abzufangen. Der Beitrag weist einige technische Fehler auf und ist zu grossen Teilen veraltet. Aus diesem Grund wird ihm primär nur noch historisches Interesse entgegengebracht.
Angriff und Verteidigung in Computernetzen Alexander Koch, Allgemein (Dokumente), 20. Jul 08 : 11:57 Die leider etwas karge Präsentation beleuchtet verschiedene Gesetzesartikel, die auf Computerangriffe und Strike-Back-Verfahren angewendet werden können. Dabei werden sowohl die deutsche als auch die schweizerische Rechtssprechung berücksichtigt. Ein interessanter Beitrag, der die Gefahren von automatisierten Schutzmechanismen auf einer nicht-technischen Ebene zu verdeutlichen in der Lage ist.
Cross-Site Scripting (Compass) Ivan Bütler, Webserver (Dokumente), 20. Jul 08 : 11:49 In diesem einfachen Artikel werden die Grundlagen von Cross Site Scripting-Attacken aufgezeigt. Dabei werden sowohl serverseitige als auch clientseitige Varianten besprochen und zudem darauf hingewiesen, dass sich dies mit jeglicher Art von Scripting (JavaScript, VBscript, etc.) durchsetzen lässt. Die Einfachheit des Papiers macht es vor allem für Einsteiger leicht zu lesen.
Internet Networking - Measuring Distance and Bandwidth between Hosts Werner König, Netzwerke (Dokumente), 01. Apr 08 : 21:43 In dieser Seminararbeit werden diverse Algorithmen zur Berechnung von Bandbreiten bestimmter Verbindungen zwischen Hosts besprochen. Es werden Troughput, Pathchar und vor allem Packet Pair beschrieben sowie ihre Vor- und Nachteile dargestellt. Ein interessantes Gebiet, welches ausserhalb akademischer Bereiche fast keine Beachtung findet.
Zeige alle Downloads (902 Total) |
| Schon gewusst, dass... | ...das in der Schweiz eingesetzte sichere Funknetz für Sicherheits- und Hilfskräfte den Namen POLYCOM trägt?
Zeige alle Trivias (244 Total) |
| Zitat des Augenblicks (id 135) | "Auch Google ist nicht Gott." - Holger Meyer, Leiter des Anzeigenverkaufs von google.de, Zeit Wissen 1/2005
Zeige alle Zitate (246 Total) |
| An diesem Tag... | 1993: Die erste LDAP-Spezifikation wird herausgegeben
2001: Todestag von Wau Holland
2005: Letzte Ausgabe des Phrack Magazins
Zeige alle Einträge (711 Total) |
| Buchtipp | 
Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architectures von Douglas E. Comer |
| |
| Wordpress: Eine Studie in Scharlachrot (Montag, 31. August 2009 - 07:46:35) |
[Marc's Blog] Es gibt verschiedene Produkte, die haben sich über Jahre einen Namen in Security-Kreisen gemacht. Und zwar keinen Guten. Die erste Software mit einem zwielichtigen Titel war der wohl populärste Mail Transfer Agent aller Zeiten: Sendmail. Nicht umsonst nannte man ihn "buggiest daemon on earth". Eine hohe Anzahl an kritischen Schwachstellen wurden über die Jahre entdeckt. Rückblickend waren die meisten davon auf die Komplexität der Software zurückzuführen.
Viele andere Applikationen machten Sendmail den Titel streitig. Sei dies nun Microsoft IIS als Webserver, Microsoft Internet Explorer als Webbrowser oder phpBB als Webforum. Eine Software kann um diesen Titel jedoch nur buhlen, wenn ihre Popularität sehr gross ist und sich entsprechend ein Mehr an Penetration Testern und Crackern für sie interessieren. Ähnliches ist deshalb auch Wordpress widerfahren, das gut und gerne als Blogging-Software eingesetzt wird.
Schwachstellen in Wordpress tauchen alle paar Wochen auf. Und schaut man sich die Details zu diesen an, muss man sich oftmals an den Kopf langen, was die Entwickler denn da wieder studiert haben ... oder halt eben nicht. Als Laurent Gaffie am 11. August 2009 auf Full-Disclosure eine Denial of Service-Schwachstelle in den Versionen bis 2.8.3 publiziert hat, habe ich mir die Zeit genommen und mal wieder ein bisschen den Code von Wordpress durchgeschaut.
Einmal mehr bin ich zum Schluss gekommen, dass Wordpress ein sehr gutes Beispiel für sicherheitstechnisch schlecht geschriebenen Source Code ist. Ein schönes Beispiel findet sich in der Datei wp-login.php. Diese wird verwendet, um neue Benutzer zu erstellen, sich einzuloggen/auszuloggen und ein neues Passwort zuzustellen. Hierbei ist besonders Zeile 188 interessant:
Code: $key = preg_replace('/[^a-z0-9]/i', '', $key);
Zu Beginn der Funktion reset_password($key) wird die Eingabe einer vermeintlichen Prüfung unterzogen. Hierzu wird die erweiterte PHP-Funktion preg_replace() verwendet. Diese benutzt reguläre Ausdrücke, um Muster in einer Zeichenkette zu ersetzen. In diesem Fall werden sämtliche Zeichen, die nicht alphanummerisch sind, durch nichts ersetzt (also gelöscht) und mit dem Überbleibsel weitergearbeitet. In vielerlei Hinsicht ist dies eine äusserst unelegante, ineffiziente und unsichere Lösung:
1. Die Funktion preg_replace() ist sehr ressourcenintensiv. Man sollte stets Funktionen ohne reguläre Ausdrücke verwenden - Vor allem bei solch simplen Pattern. Dies könnte beispielsweise das weitaus performantere str_replace() sein.
2. Die unliebsamen Zeichen werden gelöscht, der Rest des Konstrukts aber weiterverwendet, indem es erneut in die Ursprungsvariable $key geschrieben wird. Sollte irgendwann vorgelagert eine Eingabeprüfung erfolgen, kann diese mit einer klassischen Splitting-Attacke umgangen werden. Der Inhalt von $input der Form "[script!]" würde zugelassen, dann in "[script]" umgewandelt und damit die Cross Site scripting-Attacke umgesetzt werden können (sehr einfaches Beispiel):
Code: if(strpos($input, '[script]') !== FALSE)){
die('Attack detected.');
}else{
reset_password($input);
}
3. Im genannten Code wird für $key ein MD5-Hash aus der Datenbank erwartet. Dieser wird mit "SELECT user_activation_key FROM $wpdb->users WHERE user_login = %s" geholt. Er ist naturgemäss immer 32 Zeichen lang und besteht lediglich aus den Buchstaben a bis f und den Ziffern 0 bis 9. Entsprechend ist es fragwürdig, warum nicht zusätzlich eine striktere Prüfung des Zeichensatzes sowie zusätzlich der Länge der Eingabe erfolgt und bei Verstössen die Weiterverarbeitung unverzüglich abgebrochen wird:
Code: if(preg_match('/[a-f0-9]{32}/', $input)){
reset_password($input);
}else{
die('Invalid MD5 hash detected.');
}
Die Entwickler von Wordpress generieren sich durch ihre Art der defensiven Programmierung immerwährend neue Probleme. Es würde mich nicht verwundern, wenn in den nächsten paar Jahren die genannte Zeile 188 wieder zur Diskussion stehen würde. Im Rahmen einer Source Code Analyse würde ich der besprochenen Codezeile jedenfalls die Risikostufe "High" zuweisen. Dies bedeutet, dass das Problem ohne Diskussion zeitnah gelöst werden muss. Bis dahin kann lediglich gehofft werden, dass das Kartenhaus nicht erneut an anderer Stelle zusammenbricht.
|
Sie müssen angemeldet sein, um auf dieser Seite Einträge machen zu können. Bitte melden Sie sich an, oder wenn Sie noch nicht registriert sind, klicken Sie hier
|