Title (deu): Gefahren und sichere Programmierung von Ajax-basierten Webanwendungen

Author: Galley, S. (Sascha)

Description (deu): St. Pölten, FH-Stg. Digitale Medientechnologie, Dipl.-Arb., 2011

Description (deu): Diese Diplomarbeit beschäftigt sich mit der sicheren Programmierung von Ajax-Anwendungen. Es wird überprüft, ob Webanwendungen durch den Einsatz von Ajax neue Schwachstellen aufweisen. Als praktischer Teil wird ein von mir selbst entwickeltes PHPFramework, das vor allem für Ajax-Anwendungen konzipiert wurde, auf Sicherheitslücken überprüft und verbessert. Zuerst wird der Begriff Ajax erklärt und dessen historische Entwicklung beleuchtet. Danach werden die zugrundeliegenden Technologien XHTML, DOM, JavaScript, und das XHR-Objekt kurz beschrieben. Anschließend erläutere ich die verschiedenen Formate zum Austausch von Daten, wobei ich mich auf die zwei bekanntesten, XML und JSON, beschränken werde. Im Anschluss an die einleitenden Kapitel werde ich die Gefahren von Ajax-Anwendungen erörtern. Diese Risiken entstehen vor allem durch eine erhöhte Angriffsfläche, die sich durch die Auslagerung von Serverlogik auf die Clientseite bildet. Weitere Schwachstellen, die vor allem bei Ajax-basierten Anwendungen auftreten, sind Race Conditions und Deadlock-Situationen, die aufgrund der asynchronen Arbeitsweise entstehen. Auch sogenannte Mashups, in denen meist ungesicherte Daten aus verschiedenen Quellen zusammengetragen werden, werden als riskant eingestuft. Anschließend werde ich die bekanntesten Angriffsarten beschreiben und Wege aufzeigen, wie diese verhindert werden können. Prinzipiell haben sich die Möglichkeiten für Angriffe nicht geändert. Durch die größere Angriffsfläche von Ajax-basierten Anwendungen können aber Sicherheitslücken leichter ausgeforscht oder auf deren Absicherung vergessen werden. Das JavaScript respektive JSON Hijacking ist die einzige neuartige Angriffsart, die durch Ajax entstanden ist.

Description (eng): This thesis deals with the safe programming of Ajax applications. It aims to find out whether web applications using Ajax have gained new vulnerabilities. Furthermore, I will analyze and improve my own PHP framework, which was designed especially for Ajax applications. First, the term Ajax and its historical development are explained. This is followed by a brief description of the underlying technologies XHTML, DOM, JavaScript, and the XHR object. Then I will look into the two most popular formats for exchanging data, XML and JSON. Following the introductory chapters, I will discuss the dangers of Ajax applications. New risks mainly arise due to an increased attack surface, which results from outsourcing of the server logic to the client side. Other vulnerabilities that mainly occur in ajax-based applications are race conditions and deadlock situations, which occur due to the asynchronous nature of Ajax. So-called mashups gather unsecured data from various sources and are thus also classified a potentially dangerous. I will then describe the most common types of attacks and ways to prevent them. The opportunities for attacks have not changed. Due to the greater attack surface of Ajaxbased applications, vulnerabilities can be discovered more easily, while developers often forget to protect them. JavaScript or JSON Hijacking is the only new type of attack that is caused by Ajax.

Object languages: German

Date: 2011

Rights: © All rights reserved

Classification: World Wide Web; Anwendungssystem; Ajax ; PHP; Programmierung; Mashup

Permanent Identifier