Auteur: Czy <[email protected]>
Source: http://www.nsfocus.net
Date: 2003-09-03
(Notez que puisque le forum traitera certains personnages de l'article, il est préférable de
http://www.chinansl.com/czy/xmlhttp.txt Lisez l'article
http://www.chinansl.com/czy/aspsky5.htm Code de test)
Je crois que vous connaissez déjà les attaques de scripts croisés, mais il y en a toujours un lorsque vous obtenez du cookie.
Question: Utilisez toujours Window.Open pour faire apparaître un formulaire, puis envoyez un cookie, donc c'est secret
C'est une grande réduction. J'avais l'habitude de penser à une méthode InsertAdjacentHTML pour injecter une instruction HTML dans une page Web
La méthode peut à peine être utilisée pour envoyer des cookies sans fenêtre IE, mais en réalité, des erreurs IE peuvent se produire.
N'y a-t-il pas de meilleur moyen? Dans le passé, lors de l'étude de la mise à niveau automatique des virus VBS, j'ai utilisé un Microsoft.xmlhttp.
Contrôle (ce contrôle est quelque chose qui vient avec la valeur par défaut sur win98 / 2k, et c'est le contrôle, c'est-à-dire en sécurité!), À travers nous
Vous pouvez envoyer des demandes HTTP sur le site Web sur la page Web, publier ou obtenir.
Ok, l'idée est venue ici. Prenons un exemple ASPSKY5.00320.
Nous savons que <imgsrc = "xxxxxx"> peut être écrit en SRC avec VBScript:. . Par exemple
<imgsrc = "vbscript: a = (msgbox (maintenant))">, mais nous ne pouvons exécuter qu'une seule instruction, par exemple
<imgsrc = "vbscript: a = (msgbox (maintenant)): b = (msgbox (maintenant))"> Ce sera faux!
Que dois-je faire? Dans VBS, nous pouvons utiliser des instructions d'exécution, dans JS, nous pouvons utiliser EVAL!
Par exemple: <imgsrc = "vbscript: exécuter (" a = (msgbox (maintenant)): b = (msgbox ("czy" "))") ">
Ou <imgsrc = "javaScript: eval ('alert (/' nsfocus / '); alert (/' czy / ')')">
Pas encore étourdi, non? Comme ci-dessus, vous pouvez remarquer que lors de l'utilisation de l'instruction EXECUTE de VBS, les doubles devis doivent être modifiés en "Ceci est parce que:
Dans VBS, les citations simples doivent être enfermées avec des cordes, deux citations simples représentent une citation une et une autre, et dans Double Quotes!
Ainsi, dans l'instruction EXECUTE, nous ne pouvons pas utiliser de devis uniques, mais utilisez directement ", lorsque HTML est correspondant aux citations
Il correspondra aux citations après src = ", afin que nous ne puissions que l'utiliser" à la place.
Le problème du devis a été résolu. Dans les applications réelles, Aspsky traitera également notre code:
1: Si vous trouvez une chaîne de script, vous ajouterez un espace avant.
2: Si vous trouvez la chaîne HTTP, elle sera considérée comme une URL et ajoutera <a> des éléments des deux côtés
3: Si vous trouvez des espaces, vous les utiliserez à la place
Résolvez le problème:
1: VBScript est remplacé par VBScript
2: Utilisez "" HT "" + "" TP ... à la place (il y a plus d'une paire d'applications en guillemets et guillemets dans VBS, + représente le connecteur)
3: Utilisez l'espace à la place (notez pas)
À la fin, c'est le problème de l'envoi de cookie:
1: Le contrôle peut obtenir ou publier n'importe quel site Web localement, mais il ne peut être utilisé que dans la page Web.
Obtenez le serveur actuel. . . . Sinon, IE dirait qu'il refuserait de remettre en question!
2: Les cookies ne peuvent pas avoir de caractères avec des interactions spéciales dans l'URL
Résolvez le problème: