HTML5 aus Hackersicht
Kommentare

Cross-Origin Requests
Ein weiteres neues Feature von HTML5 sind Cross-Origin Requests (CORS) für Ajax, die Same Origin Policy gilt also nicht mehr zwingend. JavaScript-Code kann über die ‚responseText‘-Property

Cross-Origin Requests

Ein weiteres neues Feature von HTML5 sind Cross-Origin Requests (CORS) für Ajax, die Same Origin Policy gilt also nicht mehr zwingend. JavaScript-Code kann über die ‚responseText‘-Property die Inhalte fremder Domains lesen. Welchen Origins Cross-Origin Requests erlaubt sind, wird im ‚Access-Control-Allow-Origin‘ Header festgelegt. Wird dort irrtümlich die Wildcard ‚*‘ eingetragen, kann jede Website auf die Inhalte zugreifen und ein Angreifer u. U. sensitive Daten ausspähen.

Aber auch wenn Sie keinen Fehler machen, kann ein Angreifer die CORS missbrauchen, z. B. um einen Portscanner zu implementieren, mit dem dann nach einem XSS-Angriff im lokalen Netz des Opfers nach interessanten Zielen gesucht wird. Das war auch schon vor HTML5 möglich [7], wird mit den Cross-Origin Requests aber teilweise einfacher. Die Attack and Defense Labs haben das JavaScript-Tool JS-Recon entwickelt, das CORS oder die ebenfalls mit HTML5 eingeführten WebSockets verwendet, um im lokalen Netz nach Rechnern zu suchen [8].

Ein kleiner Abstecher: Clickjacking

Das im September 2008 veröffentlichte Clickjacking wird bei Cyberkriminellen zunehmend beliebter. Dabei lockt der Angreifer sein Opfer auf eine Webseite unter seiner Kontrolle, lässt ihn dort irgend etwas anklicken und legt heimlich einen unsichtbaren iframe über seine Seite, in dem eine andere Website so positioniert ist, dass der Klick des Benutzers dort eine Aktion auslöst, z. B. indem ein Button angeklickt wird [9].

Clickjacking the Like-Button = Likejacking

Jetzt kommen wir zu etwas, das ebenfalls nichts mit HTML5 zu tun hat, aber sehr viel mit dem Web 2.0: Facebooks „Like“-Button und ähnliche mit einem Klick zu aktivierende Funktionen.

Im Mai 2010 gab es einen Wurmangriff über Clickjacking, für den ein neuer Name geprägt wurde: „Likejacking“ [10]. Opfer das Wurms war Facebook, es wurde aber keine Schwachstelle ausgenutzt, sondern eine dokumentierte Funktionalität missbraucht: Beim Klick auf einen „Like“-Button wird ohne weitere Rückfrage o. Ä. eine Statusmeldung erzeugt.

Über verschiedene Nachrichten wurden die Opfer auf eine anscheinend leere Seite gelockt, die nur die Aufforderung „Click here to continue“ enthielt. Beim Klick wurde ein in einem unsichtbaren iframe versteckter „Like“-Button angeklickt und die entsprechende Nachricht im Namen des Opfers verbreitet. Diesem ersten Likejacking-Wurm folgten seitdem viele andere.

Facebooks „Like“-Button und alle anderen Schaltflächen etc., die auf einer Webseite eingebunden werden, um Aktionen im Kontext eines anderen Dienstes auszulösen, haben für Angreifer einen großen Vorteil: Sofern sie nur auf einen Klick warten müssen und daraufhin sofort eine Aktion im Namen eines bei ihrem eigenen Dienst angemeldeten Benutzers auslösen können, können sie nicht vor Clickjacking geschützt werden.

Sofern die Seite, die sie einbettet, nicht selbst gegen Clickjacking geschützt ist, sind sie ein leichtes Opfer eines solchen Angriffs [11].Die einzige Abwehrmöglichkeit: Nach dem Klick auf den Button wird vom jeweiligen Anbieter die eigene, serverseitig geschützte Seite geöffnet, in der ein weiterer Klick notwendig ist.


Auf den kommenden Seiten erwarten euch…:

  • Clickjacking + HTML5 = Neue Angriffsmöglichkeiten
  • Ein praktischer Angriff: Cookiejacking
  • iframe: Sandkasten gegen JavaScript
  • Schöne neue Funktionen, schöne neue Möglichkeiten
  • Info zum Autor Carsten Eilers
  • Links und Literatur
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -