OWASP: Rangliste der zehn grössten Risiken für Webanwendungen

Das Open Web Application Security Project (OWASP) ist eine Non-Profit-Organisation mit dem Ziel, die Sicherheit von Anwendungen und Diensten im World Wide Web zu verbessern. [1]

Dazu veröffentlicht OWASP eine Rangliste mit den zehn schwerwiegendsten Sicherheitsschwachstellen von Webanwendungen. Auf Platz 1 ist „Injection“, das Einschleusen von fremdem Code.

Passend zum Thema Injection musste ich erst kürzlich feststellen, dass es immer noch Webanwendungen gibt bei denen SQL-Injection ohne grosse mühe funktioniert.

SQL-Injection

Das erste Mal aufmerksam auf das Thema SQL-Injection wurde ich im Jahr 2000. In dieser Zeit waren sehr viele Webanwendungen davon betroffen. Auch bekannte online Shops waren vor dieser Problematik nicht gefeit. Dies war auch die Zeit des „Quick-Login“, oft genügte die Eingabe des Prozentzeichens (%) bei Passwort und Benutzername und man wurde mit dem erst besten Login angemeldet.

Inzwischen sollte eigentlich jeder Programmierer, der mit Datenbanken arbeitet, wissen was SQL-Injection ist und was es für geeigneten Gegenmassnahmen gibt. Sei dies die Verwendung von Stored Procedures, Prepared Statements oder dem Maskieren von Metazeichen. Auch sollte die Webanwendung Benutzereingaben genau prüfen und nur korrekte Werte akzeptieren. Hat man keinen Einfluss auf die Webanwendung, kann auch ein WAF (Web Application Firewall) eingesetzt werden.

Aber leider musste ich schon des Öfteren feststellen, dass es auch im 2013 Programmierer gibt, die sich nicht mit diesem Thema beschäftigen. Im Glauben ein Projekt schneller fertigzustellen wird dies einfach ignoriert. Auch Begründungen wie: „Diese Anwendung ist nur für den internen Gebrauch…“ oder „Unsere Daten sind doch nicht interessant für einen Hacker…“.

Und was passiert bei einem „DROP TABLE;“ oder „WAITFOR DELAY ‚0:30:00‘–“ usw.?

Ich glaube diese Programmierer haben noch nicht bemerkt, das Programmieren viel mehr Spass macht, wenn man versucht „sicheren“ und „sauberen“ Code zu schreiben.

Nützliche Links:

Wikipedia: OWASP [1]
Wikipedia: WAF
Anfälligkeit von Webapplikationen durch SQL-Injection prüfen, mit Hilfe von sqlmap
Clean Code Developer
The OWASP Cheat Sheet Series – web application security