Quelqu'un pourrait-il expliquer ces XSS chaînes de test?
récemment, j'ai trouvé ce tutoriel sur XSS et de la sécurité des applications web -> https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#XSS_Locator
Au début il y a quelques ficelles pour l'injecter dans le but de tester qu'un site est vulnérable aux attaques de type xss ou pas. Ces chaînes sont:
';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//";
alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//--
></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>
et
'';!--"<XSS>=&{()}
Je sais que les concepts de base de XSS, mais ici je ne peux pas comprendre pourquoi il n'y a que la répétition de " alert(String.fromCharCode(88,83,83))' à la première chaîne, et pourquoi ces //'; //"; //--> commentaires sont nécessaires pour (signifient-ils quelque chose de spécial quand l'utiliser de façon whilesearching pour xss bugs?).
Et dans la deuxième chaîne, quel est le but de la &{()} la séquence?
Quelqu'un pourrait-il exlain moi avec des exemples concrets comment ces deux chaînes doivent travailler afin de récupérer un script de site à site bug à l'intérieur d'une application web? Causer sur le site, je me suis liée aucune explication n'est donnée...
Je sais ce que l'alerte est censé faire, ce que je voudrais comprendre, c'est comment cette " sortir de diverses citations, les étiquettes, etc., pourriez-vous m'expliquer s'il vous plait, si vous le savez?
Si vous avez rendu cette chaîne sur un client, quel serait-il ressembler? Que se passerait-il si elle était dans un tag? Rendu dans le cadre du code JS? Etc. Pourquoi ne pas simplement essayer de prendre de la chaîne et de la rendre dans toutes les manières que vous pouvez penser, sans s'y soustraire?
Pour le moment je n'ai pas de portable pour l'essayer, mais je le ferai dès que possible, quand je rentre à la maison, c'est la curiosité et le désir de comprendre immédiatement que m'a incité à écrire cette question, parce que si quelqu'un qui viens de tester, il pourrait l'expliquer de manière compréhensible ce sera une bonne feuille de triche pour toutes les communauté qui en est venu à travers la même question, j'ai donc essayer de tester par moi même mais je vais quand même attendre de vous ou de quelqu'un d'autre pour donner une réponse simple et complète qui pourrait immédiatement nous aider à comprendre le sujet. En tout cas merci!
Le faire dans votre tête: pensez à comment vous rendre, et ce qui peut arriver. Il ya beaucoup d'endroits qui expliquent cela avec des exemples concrets, je ne suis pas convaincu que nous avons besoin d'une liste exhaustive ici. Par exemple, thegeekstuff.com/2012/02/xss-attack-examples
OriginalL'auteur tonix | 2014-08-23
Vous devez vous connecter pour publier un commentaire.
Cela ressemble à essayer plusieurs injections, donc je vais essayer et de décomposer une à une:
La Première Injection
Cette tentative d'injection de mettre fin à un JavaScript chaîne littérale (à l'aide de
'
), puis fin à l'instruction (avec;
) et fait un appel àalert(String.fromCharCode(88,83,83))
qui sera la cause d'une boîte de pop-up contenant "XSS". La suite//
est une tentative de "commenter" le reste de l'énoncé, de sorte qu'une erreur de syntaxe n'aura pas lieu et le script va s'exécuter.La Deuxième Injection
Comme la première injection, mais il utilise
"
dans une tentative de mettre fin à un JavaScript littéral de chaîne.La Troisième Injection
Cette tente de faire les choses suivantes:
-->
)<SCRIPT>
balise à l'aide de</SCRIPT>
">
'>
<SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>
La Quatrième Injection
C'est une chaîne de caractères utilisée pour tester ce que, le cas échéant, des filtres et/ou de codage sont utilisés sur la saisie de l'utilisateur. Typiquement, la source de la page après l'injection de contenir
<XSS
ou<XSS
. Si la seconde est trouvé, l'application n'est probablement pas le filtrage de la saisie de l'utilisateur (comme cela a permis l'ajout de l'arbitraire d'un tag) et est susceptible vulnérable aux attaques de type XSS.Pour répondre à vos questions plus directes:
C'est une "Preuve de Concept", une fonction qui va provoquer une boîte de pop-up apparaissent contenant "XSS". Si cela se produit, l'injection de JavaScript a été exécuté.
Ceux-ci sont utilisés pour éviter les erreurs de syntaxe, ce qui peut provoquer l'injection de JavaScript pour ne pas s'exécuter.
OriginalL'auteur Caleb Brinkman