Christian Seiler: Selfhtml-Aktuell-Artikel zum Kontextwechsel - Bitte um Rezension

Beitrag lesen

Hallo dedlfix,

Hier fehlt nur als zweiter Parameter von htmlspecialchars() ein ENT_QUOTES, wegen der Verwendung von ' als Stringbegrenzer im JavaScript. Ansonsten muss der onclick-Inhalt gemäß HTML behandelt werden. Die für PHP und JavaScript kritischen Zeichen ', " und \ sind ja abgedeckt. Oder hab ich noch was übersehen?

Wenn Du ' als die Escape-Sequenz für ' nimmst (also *nur* ent_quotes), dann kommt das trotzdem als Anführungszeichen im Javascript-Interpreter an - was dann zu XSS führt.

Probier's aus, stell Dir vor, $usereingabe wäre so definiert:

$usereingabe = "'); alert ('foobar";  
echo "<span onclick=\"tuwas ('".htmlspecialchars ($usereingabe, ENT_QUOTES)."');\">"

Gibt:

<span onclick="tuwas ('&#039;); alert (&#039;foobar');">

Und der Javascript-Interpreter sieht das:

tuwas (''); alert ('foobar');

Denk Dir nun statt alert ('foobar') irgend einen bösen Code dahin und dann hast Du den XSS-Salat.

Sprich: Du musst das erst als Javascript-String maskieren und *dann* erst als HTML-String maskieren.

Viele Grüße,
Christian

--
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
            -- Kommentar bei TDWTF
0 81

SELFHTML-Aktuell-Artikel zum Kontextwechsel - Bitte um Rezension

dedlfix
  • programmiertechnik
  1. 0
    suit
    1. 0
      dedlfix
  2. 1
    Sven Rautenberg
    1. 0
      Felix Riesterer
      1. 0
        jobo
      2. 2
        dedlfix
    2. 0
      Jörg
    3. 0
      dedlfix
  3. 0

    Danke

    Sebastian
  4. 0
    Christoph Jeschke
    1. 0
      Christoph Jeschke
      1. 0
        dedlfix
        1. 0
          globe
          1. 0
            Vinzenz Mai
        2. 0
          Christoph Jeschke
          1. 0
            dedlfix
            1. 0
              Christoph Jeschke
              1. 0
                dedlfix
  5. 2
    jobo
    1. 0
      dedlfix
  6. 0
    Alexander (HH)
    1. 0
      Alexander (HH)
      1. 0
        dedlfix
        1. 0
          Alexander (HH)
          1. 0
            dedlfix
            1. 0
              Alexander (HH)
              1. 0
                dedlfix
    2. 0

      Konstruktive Kritik

      Vinzenz Mai
      • meinung
      1. 0
        jobo
      2. 1
        Alexander (HH)
      3. 0
        dedlfix
    3. 0
      dedlfix
      1. 0
        Alexander (HH)
        1. 0
          dedlfix
          1. 0
            dedlfix
  7. 0
    Tom
    1. 0
      dedlfix
      1. 0
        Tom
        1. 0
          ChrisB
          1. 0
            Tom
            1. 3
              Auge
              1. 0
                ChrisB
  8. 0
    molily
    1. 0
      molily
      1. 0
        dedlfix
    2. 0
      dedlfix
      1. 0
        molily
  9. 0
    hotti
  10. 0
    Auge
    1. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
  11. 0

    Selfhtml-Aktuell-Artikel zum Kontextwechsel - Bitte um Rezension

    dedlfix
    1. 1
      Christian Seiler
      1. 0
        dedlfix
        1. 0
          Christian Seiler
          1. 0
            dedlfix
            1. 0
              Christian Seiler
        2. 0
          Tom
          1. 0
            dedlfix
            1. 0
              Tom
      2. 0
        dedlfix
        1. 0
          Christian Seiler
        2. 0
          molily
    2. 0
      molily
      1. 0
        dedlfix
  12. 0

    Selfhtml-Aktuell-Artikel zum Kontextwechsel - Beta-Version

    dedlfix
    1. 0
      Alexander (HH)
      1. 0
        dedlfix
    2. 0
      Auge
      1. 0
        dedlfix
        1. 0
          Auge
          1. 0
            dedlfix
            1. 0
              Vinzenz Mai
              1. 0
                dedlfix
          2. 0
            jobo
    3. 0
      jobo
      1. 0
        dedlfix
        1. 0
          jobo
        2. 0
          Auge