Chaque fois que nous pensons à une époque où les pirates, les pirates ont tendance à aimer ce portrait: un solitaire, entré discrètement serveurs d'autres personnes, de détruire ou de voler des secrets d'autres personnes. Peut-être qu'il va changer notre page d'accueil, les demandes frauduleuses se voler les clients des numéros de carte de crédit et mots de passe. En outre, le pirate attaque à visiter notre site web clients. Dans le même temps, notre serveur est devenu son complice. Microsoft appelle cette attaque comme un script "cross-site" attaques. La majorité de ces attaques ont eu lieu dans la page web générées dynamiquement au bon moment mais le but du pirate n'est pas de votre site, mais visitez le site Web du client.
Description de l'attaque de script inter-site
Dans un livre intitulé ADVISORY CA--2000-02 du magazine, CERT nous a avertis: Si le serveur sur l'entrée du client n'est pas efficace de vérification, les pirates malveillants entrera un peu de code HTML, lorsque ces HTML SCRIPT entrée de code de programme est utilisé, ils peuvent l'utiliser pour effectuer des actes de sabotage, comme l'insertion de certaines images offensantes ou de sons, etc, mais peut aussi interférer avec le bon site client.
Nous savons que quelques amis avaient été amenés à libérer un certain nombre de sites suspects, ils obtiennent seulement 10 à 20 petite fenêtre, ces fenêtres sont souvent accompagnées par la formation de l'échec de Java ou bouton de sécurité avascript, c'est ce qu'on appelle le piège de la souris. Fermez la fenêtre en vain, lorsque nous fermer une fenêtre, une autre fenêtre s'ouvrira quelques 10. Cela arrive souvent lorsque l'administrateur n'a pas dans le Fasheng Hou. Les pirates utilisent l'événement de la souris est cross-site par exemple SCRIPT méthodes d'attaque du client.
balises de script et actes malveillants ne sont pas simples, ils peuvent même voler des informations et détruit le système. Pas une habile ou même les pirates intelligents sont capables d'interférer avec ou changer le serveur en utilisant la saisie des données de script. code de script peut également attaquer en utilisant des systèmes client, faire des dégâts sur votre disque dur. Et vous savez, lorsque vous utilisez le côté serveur, les pirates script est aussi un endroit sûr où votre serveur est en cours d'exécution à! Si le client une lettre sur votre serveur est identifié, la même confiance qu'ils SCRIPT code malveillant. Même ce code est sous la forme d' SCRIPT ou OBJECT serveur contre le piratage.
Même avec un pare-feu (SSL) ne peut pas empêcher des attaques cross-site SCRIPT. C'est parce que si l'équipement génère du code script malveillant utilise également SSL, le serveur SSL que nous ne pouvons pas identifier le code à l'. Nous avons à faire avec le client des sites de confiance, puis la main sur le piratage il? Et l'existence d'un tel dommage, la perte possible de faire la réputation de votre site.
Tout d'abord, les attaques cross-site SCRIPT exemple:
Selon les informations du CERT, entrée dynamique a généralement ces formes: les paramètres d'URL, des éléments de formulaire, COOKISE et de données. Laissez-nous analyser, les deux seules pages du site Web, le site est nommé: MYNICESITE.COM. Première utilisation d'un formulaire ou un biscuit pour obtenir le nom d'utilisateur:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
strRedirectUrl Dim
strRedirectUrl = "page2.asp? Nom d'utilisateur ="
strRedirectUrl = strRedirectUrl & Response.Cookies ("username")
Response.Redirect (strRedirectUrl)
% Autres
HTML
HEAD
Accueil TITLE MyNiceSite.com Page TITRE /
/ Head
BODY
H2 MyNiceSite.com / H2
form Method="post" action="page2.asp"
Entrez votre nom d'utilisateur MyNiceSite.com:
INPUT Type="text" NAME="nom_utilisateur"
INPUT Type="submit" name="submit" value="submit"
/ Form
/ Body
/ Html
% End If%
La deuxième page renvoie le nom d'utilisateur d'accueillir:
% @ Language = VBScript%
% Dim strUserName
Si Request.QueryString ("username") "" Then
strUserName = Request.QueryString ("username")
D'autre
Response.Cookies ("username") = Request.Form ("username")
strUserName = Request.Form ("username")
End If%
HTML
HEAD / Head
BODY
H3 Align="center" Bonjour: % = strUserName% / H3
/ Body
/ Html
Lorsque vous entrez du texte normal souvent, tout est normal. Si vous entrez le code de script: alerte SCRIPT (''Bonjour script .''; /, avascript étiquette d'avertissement s'affiche:
La prochaine fois que vous visitez, cette étiquette d'avertissement apparaîtra le même; C'est parce que le code de script dans votre temps après la première visite avait été de rester dans un cookie. Il s'agit d'un exemple simple d'attaques cross-site.
Si vous pensez que cela est un cas particulier, vous pouvez également aller voir ailleurs en ligne, en personne essayer. J'ai quelques sites grand gouvernement, des sites éducatifs et les sites commerciaux testés, certains d'entre eux font plus que ce que la situation là-bas, j'ai même trouvé un site que j'utilise souvent les cartes de crédit sont en fait sur l'entrée sans aucun filtrage, Pensez vraiment terrible.
Deuxièmement, en utilisant E-Mail pour Cross Site Script Attack
attaque de script inter-site utilisé dans la liste des serveurs, des serveurs Usenet et les serveurs de messagerie sont particulièrement vulnérables à venir. Ce qui suit est un exemple pour expliquer site MyNiceSite.com. Puisque vous souvent naviguer sur ce site, son contenu ne la met pas à vous aimer, vous inconsciemment mis le navigateur dans un contenu Web dynamique est toujours la confiance de ce paramètre.
MyNiceSite.com site est toujours grâce à la vente d'abonnement e-mail l'adresse de leurs lettres E-mail à des recettes, il est en effet une très bonne idée. Alors je l'ai acheté dans une adresse de boîte aux lettres. Et fait beaucoup de mail pour vous. Dans la lettre, je vous dis dès que possible de visiter ce site et de vérifier votre compte en utilisant la dernière situation. Pour vous donner un moyen pratique, j'ai aussi fait un lien vers cette lettre. Je voudrais un lien URL, le paramètre nom d'utilisateur dans le code de script à lécher ajouté. Certains clients sans le savoir, cliquez sur ce lien, qui est sur mon quand (photo), et j'ai aussi bénéficié de:
C'est ce travail, comme lorsque vous cliquez sur ce lien après lien dans le code de script sera utilisé pour guider votre navigateur pour télécharger mon programme avascript et l'exécuter. Mon script vérifie à l'aide du navigateur IE, vous, de procéder pour télécharger particularlyNasty.dll contrôle ActiceX. Parce que avant d'avoir le contenu de ce site qui est toujours en sécurité, donc mon code de script et des contrôles actifs sur votre machine peut se déplacer librement.
3, description attaque Activex
Lors de l'examen ActiveX, Microsoft et le CERT aucune référence à la méthode de script inter-sites du risque posé par. W3C Dans "La sécurité Foire aux questions sur la sécurité ActiveX, a donné une description plus détaillée. applet Java sur le contrôle du système est strictement limité. développement soleil, quand il prévoit que seuls ceux qui ne posent pas de menace pour la sécurité du système a été autorisé à exécuter l'opération.
D'autre part, ActiveX sur le fonctionnement du système n'est pas strictement limité. Toutefois, si l'on a été téléchargé, vous pouvez installer l'exécutable que faire ce qu'ils voulaient faire la même chose. navigateur IE pour que cette fonctionnalité est également faite de certaines restrictions, telles que celles du site à risque, dans ses paramètres par défaut ne vous permettra pas de télécharger ou de vous donner un message d'avertissement. Est basée sur le développement des ActiveX pour des entreprises telles que VeriSign Inc, ils ont donné le numéro des contrôles ActiveX. Lorsque vous téléchargez, après le contrôle du temps, le navigateur IE vais vous donner un avertissement et affiche le degré de sa misérable crédibilité. Par l'utilisateur de décider s'il ya lieu de croire ce contrôle. En augmente la sécurité du système.
Toutefois, pour les utilisateurs qui n'ont pas beaucoup d'expérience, ils sont souvent inconsciemment, les paramètres d'origine ont été modifiés pour permettre à ces contrôles sans aucune contrainte sur le fichier. En outre, un novice, même dans le cas d'une invite à télécharger sans réfléchir ne fera aucune marque dans lesquels les contrôles. Dans nos exemples, parce que vous faites confiance au site, en changeant les paramètres du navigateur, donc, les contrôles ActiveX sans aucune contrainte à télécharger, et sans le savoir sur votre machine commence à courir .
4, 16 hexadécimal codé script ActiveX attaque
Mauvaises intentions devraient faire la distinction entre l'étiquette et le script est très difficile. Script peut également être sous la forme de 16 hex se cacher. Penchons-nous sur l'E-mail suivant cet exemple s'il vous plaît? Il est sous la forme de 16 hex est envoyé:
C'est presque un message complet, qui contient un hexagone de 16 faux paramètres URL: expéditeur mynicesite.com =. Lorsque l'utilisateur clique sur le lien, le navigateur de l'utilisateur va commencer la première affaire soumise directement à la transformation de la pop-up d'alerte fenêtre.
Partie II: Cross Site Script crime Prévention des attaques
Tout d'abord, comment éviter d'être des attaques cross-site serveur Script
Heureusement, prévenir les attaques cross-site la technologie se perfectionne Script. plusieurs moyens peuvent être prises pour prévenir les attaques cross-site de script:
1. Sur les pages générées dynamiquement caractères sont codés
2. Pour filtrer et limiter le rejet
3. Utilisation de HTML et le codage URL
1. Sur les pages générées dynamiquement caractères sont codés
Vous devez d'abord utiliser est généré dynamiquement des pages sur l'encodage des caractères, vous devez le faire, ou de hacker est susceptible de changer votre jeu de caractères et facilement grâce à votre ligne de défense. Si notre site est en anglais site web, donc si nous avons mis l'encodage des caractères en caractères latins ISO-8859-1 sur la ligne, comme suit:
META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
2. Filtrage et restreindre l'ensemble des données d'entrée
Il s'agit d'éviter «cross-site Script La seconde méthode d'attaque, au cours de signer po Ne laissez pas les caractères spéciaux sont inscrits. Par conséquent, nous pouvons ajouter des procédures avascript façon onSubmit pour accomplir cette fonction. Dans ce cas, nous limitons ne pouvez entrer 15 caractères. Cela permettra d'éviter ces entrées à long script.
Dans Knowledge article de la Base QA252985 Ce livre offre un programme avascript brève Microsoft pour compléter les données de filtrage des entrées. Nous avons également introduit dans les circonstances particulières de ce code pour notre exemple, tels que:
checkForm fonction () (
document.forms [0]. userName.value = _
RemoveBad (document.forms [0]. UserName.value);
return true;
)
/ / MICROSOFT''S CODE
fonction RemoveBad (strTemp) (
(/ / /"/''/%/;/(/)/&/+/-/ StrTemp.replace strTemp = g ,"");
strTemp retour;
)
En utilisant cette méthode, vous pouvez filtrer celles contenues dans le caractère d'entrée:
% [] (); + & - "''()
3. Utilisation de HTML et le codage URL
Bien que l'utilisation de filtres et les restrictions mentionnées ci-dessus, la méthode d'entrée est d'utiliser un moyen très important de la défense, mais c'était ma façon de telles attaques par courrier ou par impuissance. Je mets les paramètres d'URL directement sur le message. Compte tenu de ce que nous avons à prendre une des mesures de sécurité plus robuste. Si nous utilisons ASP, relativement parlant, pour résoudre beaucoup plus facile. Tant que le total des pages HTML générées dynamiquement et l'encodage d'URL sur la ligne. Le cas de notre exemple, entrez la première page de l'URL de redirection nous avons fait les changements suivants:
strRedirectUrl = strRedirectUrl & _
Server.URLEncode (Response.Cookies ("username"))
Nous nous sommes joints à la mise en œuvre de la page:
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
Et
strUserName = Server.HTMLEncode (Request.Form ("username"))
Microsoft recommande à toutes les entrées et les sorties des pages dynamiques doivent être codés. Même les données dans la base de données et de supprimer la même chose devrait être vraie. Alors que vous pouvez largement éviter les attaques de script inter-sites.
Pour atteindre ces devrait être ajouté dans Page1.asp:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
''Redirection si détecter le cookie
strRedirectUrl Dim
strRedirectUrl = "page2.asp? Nom d'utilisateur ="
strRedirectUrl = strRedirectUrl & _
Server.URLEncode (Request.Cookies ("username"))
Response.Redirect (strRedirectUrl)
% Autres
HTML
HEAD
META Http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"
Accueil TITLE MyNiceSite.com Page TITRE /
/ Head
SCRIPT LANGUAGE="avascript"
! -
checkForm fonction () (
document.forms [0]. userName.value =
RemoveBad (document.forms [0]. UserName.value);
return true;
)
fichier //*********************************************** *******
fichier / / Programmeur: pas original CODE - vient de MICROSOFT
fichier / / Code Source: Base de connaissances Microsoft article Q25z985
fichier / / Description: caractères élimine les mauvaises.
fichier //*********************************************** *******
fonction RemoveBad (strTemp) (
strTemp = g (/ / /"/''/%/;/(/)/&/+/-/ strTemp.replace, "");
strTemp retour;
)
fichier //--
/ SCRIPT
BODY
BR
H2 MyNiceSite.com / H2
BR
checkForm();" FORM onsubmit="return Method="post"action="page2.asp"
Entrez votre nom d'utilisateur MyNiceSite.com:
INPUT Type="text"name="userName" width="10" maxwidth="10"
INPUT Type="submit"name="submit" value="submit"
/ Form
/ Body
/ Html
% End if%
Page2.asp Canada, tels que:
% @ Language = VBScript%
% Dim strUserName
Si Request.QueryString ("Alors ") "" userName
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
D'autre
Response.Cookies ("username") = Request.Form ("username")
strUserName = Server.HTMLEncode (Request.Form ("username"))
End If%
HTML
HEAD
META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
/ Head
BODY
H3 Align="center" Bonjour: % = strUserName% / H3
/ Body
/ Html
Maintenant, à cause de cette attaque était un contrôle efficace. Que les étiquettes et les scripts par un code malveillant, qu'ils soient sous forme écrite sont apparues, comme le montre ci-dessous:
Nous avons également augmenter le composant IIS utilisée pour filtrer tous d'une entrée dynamique des caractères spéciaux. Pour ceux qui ont des sites Web bien, cette approche pour prévenir les attaques de script inter-sites sont faciles. Nous pouvons bloquer cette demande de contrôle objectifs à partir des pages ASP, peut se former, cookie, le contenu de la chaîne de demande et les procédures pour détecter:
Nous pouvons également écrire le fichier de log par la méthode des données statistiques pour pouvoir rejoindre les composants. Chaque fois qu'un client entre un caractère illégal, cette composante de prendre note de son adresse IP et l'heure. Les détails sont Doug doyen de Roll votre propre application IIS sur ASPToday article.
Nous avons juste besoin de prendre quelques simples Buju peuvent effectivement empêcher les attaques de script inter-sites. Outre les trois méthodes mentionnées ci-dessus, Microsoft et le CERT a également fortement recommandé d'utiliser un processus qu'ils appellent le test de validation »approche. Par exemple, supposons qu'il n'y ait autorisé à entrer dans la fenêtre de saisie numérique, et nous le donner à un nombre limité, ne permettant que l'entrée numérique 0-9. Microsoft et le CERT utilisés pour saisir les caractères de cette approche limitée que l'utilisation séparée de filtrage des caractères spéciaux sont beaucoup mieux. Adopté ces mesures, vous pouvez laisser ceux qui visitent votre site lorsque les clients visitent votre site à protéger.
Deuxièmement, contre le piratage d'attaquer notre méthode navigateur:
Lorsque vous surfez sur le net au bon moment pour éviter d'être attaqué? Microsoft et le CERT recommande de ne pas toucher devine sauvages dans la ligne Hu. Dans cette perspective, PC Magazine a nommé John Dvorack une colonne en une réponse intéressante. Il estime qu'il s'agit d'actes prémédités de Microsoft: c'est-à intimider les gens qui surfent sur ces sites à visiter en toute sécurité, comme AOL et MSN.com site Web.
Dans nos exemples, même si vous n'êtes pas en ligne au hasard errance, nous ne pouvons pas éviter d'être dans les attaques de pirates sur Internet. Ironiquement, la plupart des risques proviennent de nos sites les plus fiables. Si vous voulez que le site ne doit pas question, vous devez ne pas télécharger tout le contenu dynamique ou de tout témoin. Prédire les détails, s'il vous plaît se référer aux informations de votre navigateur.
Microsoft a également averti que le navigateur que vous devez régler le script actif et de limiter strictement l'état de courriel est également mis de limiter strictement le mode de réception. Cliquez sur le lien dans le message, assurez-vous d'être prudent. Pour plus d'informations s'il vous plaît se référer à un nom Microsoft''s Knowledge Base Article livre Q253117 . Par mesure de précaution, il vaut mieux être une expérience en ligne et un peu plus de temps pour être prudent.
Conclusion
Si vous êtes un développeur précédent programme UNIX, vous ne pouvez pas savoir ce qui signifie que le script inter-sites. Vous savez que de nombreux gestionnaires de sites enregistrés sur le nom d'utilisateur et mot de passe ont été root, root. Le même nombre de nom de l'administrateur de bases de données et mot de passe ont été SA, mot de passe. Vous savez Webzine (comme Phrack et Alt2600), selon les méthodes ils vous offrent une étape par étape permet à un serveur de connaître les faiblesses. Dans ce matériel, vous savez aussi que la plupart des serveurs de base de données du site et le serveur web ne sont pas auto-protection. Mais l'expérience d'un hacker, la machine doit paralysie.
Bien qu'il soit facile à prendre pour empêcher le système de mesures des hackers, mais notre système est exposé à l'hacker a été auparavant. Nous avons tout lieu de croire que l'année prochaine il y aura des nouvelles failles de sécurité. M. John Howard dans le CERT de la société sous la direction a été mentionné dans un article: «Selon la présente étude, à chaque nom de domaine sur le site Internet de l'année en moyenne, les attaques par des pirates au moins une fois. "
Sur les serveurs, même si un seul de telles attaques sont insupportables. Attaques par Cross Site Script sont une autre façon les pirates peuvent utiliser. Toutefois, nous avons besoin que le traitement ci-dessus simples peuvent prévenir l'apparition de cette forme d'attaque.
Chaque fois que nous pensons à une époque où les pirates, les pirates ont tendance à aimer ce portrait: un solitaire, entré discrètement serveurs d'autres personnes, de détruire ou de voler des secrets d'autres personnes. Peut-être qu'il va changer notre page d'accueil, les demandes frauduleuses se voler les clients des numéros de carte de crédit et mots de passe. En outre, le pirate attaque à visiter notre site web clients. Dans le même temps, notre serveur est devenu son complice. Microsoft appelle cette attaque comme un script "cross-site" attaques. La majorité de ces attaques ont eu lieu dans la page web générées dynamiquement au bon moment mais le but du pirate n'est pas de votre site, mais visitez le site Web du client.
Description de l'attaque de script inter-site
Dans un livre intitulé ADVISORY CA--2000-02 du magazine, CERT nous a avertis: Si le serveur sur l'entrée du client n'est pas efficace de vérification, les pirates malveillants entrera un peu de code HTML, lorsque ces HTML SCRIPT entrée de code de programme est utilisé, ils peuvent l'utiliser pour effectuer des actes de sabotage, comme l'insertion de certaines images offensantes ou de sons, etc, mais peut aussi interférer avec le bon site client.
Nous savons que quelques amis avaient été amenés à libérer un certain nombre de sites suspects, ils obtiennent seulement 10 à 20 petite fenêtre, ces fenêtres sont souvent accompagnées par la formation de l'échec de Java ou bouton de sécurité avascript, c'est ce qu'on appelle le piège de la souris. Fermez la fenêtre en vain, lorsque nous fermer une fenêtre, une autre fenêtre s'ouvrira quelques 10. Cela arrive souvent lorsque l'administrateur n'a pas dans le Fasheng Hou. Les pirates utilisent l'événement de la souris est cross-site par exemple SCRIPT méthodes d'attaque du client.
balises de script et actes malveillants ne sont pas simples, ils peuvent même voler des informations et détruit le système. N'est-ce pas un habile ou même les pirates intelligents sont capables d'interférer avec ou changer le serveur en utilisant la saisie des données de script. code de script peut également attaquer en utilisant des systèmes client, faire des dégâts sur votre disque dur. Et vous savez, lorsque vous utilisez le côté serveur, les pirates script est aussi un endroit sûr où votre serveur est en cours d'exécution à! Si le client une lettre sur votre serveur est identifié, la même confiance qu'ils SCRIPT code malveillant. Même ce code est sous la forme d' SCRIPT ou OBJECT serveur contre le piratage.
Même avec un pare-feu (SSL) ne peut pas empêcher des attaques cross-site SCRIPT. C'est parce que si l'équipement génère du code script malveillant utilise également SSL, le serveur SSL que nous ne pouvons pas identifier le code à l'. Nous avons à faire avec le client des sites de confiance, puis la main sur le piratage il? Et l'existence d'un tel dommage, la perte possible de faire la réputation de votre site.
Tout d'abord, les attaques cross-site SCRIPT exemple:
Selon les informations du CERT, entrée dynamique a généralement ces formes: les paramètres d'URL, des éléments de formulaire, COOKISE et de données. Laissez-nous analyser, les deux seules pages du site Web, le site est nommé: MYNICESITE.COM. Première utilisation d'un formulaire ou un biscuit pour obtenir le nom d'utilisateur:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
strRedirectUrl Dim
strRedirectUrl = "page2.asp? Nom d'utilisateur ="
strRedirectUrl = strRedirectUrl & Response.Cookies ("username")
Response.Redirect (strRedirectUrl)
% Autres
HTML
HEAD
Accueil TITLE MyNiceSite.com Page TITRE /
/ Head
BODY
H2 MyNiceSite.com / H2
form Method="post" action="page2.asp"
Entrez votre nom d'utilisateur MyNiceSite.com:
INPUT Type="text" NAME="nom_utilisateur"
INPUT Type="submit" name="submit" value="submit"
/ Form
/ Body
/ Html
% End If%
La deuxième page renvoie le nom d'utilisateur d'accueillir:
% @ Language = VBScript%
% Dim strUserName
Si Request.QueryString ("username") "" Then
strUserName = Request.QueryString ("username")
D'autre
Response.Cookies ("username") = Request.Form ("username")
strUserName = Request.Form ("username")
End If%
HTML
HEAD / Head
BODY
H3 Align="center" Bonjour: % = strUserName% / H3
/ Body
/ Html
Lorsque vous entrez du texte normal souvent, tout est normal. Si vous entrez le code de script: alerte SCRIPT (''Bonjour script .''; /, avascript étiquette d'avertissement s'affiche:
La prochaine fois que vous visitez, cette étiquette d'avertissement apparaîtra le même; C'est parce que le code de script dans votre temps après la première visite avait été de rester dans un cookie. Il s'agit d'un exemple simple d'attaques cross-site.
Si vous pensez que cela est un cas particulier, vous pouvez également aller voir ailleurs en ligne, en personne essayer. J'ai quelques sites grand gouvernement, des sites éducatifs et les sites commerciaux testés, certains d'entre eux font plus que ce que la situation là-bas, j'ai même trouvé un site que j'utilise souvent les cartes de crédit sont en fait sur l'entrée sans aucun filtrage, Pensez vraiment terrible.
Deuxièmement, en utilisant E-Mail pour Cross Site Script Attack
attaque de script inter-site utilisé dans la liste des serveurs, des serveurs Usenet et les serveurs de messagerie sont particulièrement vulnérables à venir. Ce qui suit est un exemple pour expliquer site MyNiceSite.com. Puisque vous souvent naviguer sur ce site, son contenu ne la met pas à vous aimer, vous inconsciemment mis le navigateur dans un contenu Web dynamique est toujours la confiance de ce paramètre.
MyNiceSite.com site est toujours grâce à la vente d'abonnement e-mail l'adresse de leurs lettres par courriel pour obtenir un revenu, qui est effectivement une très bonne idée. Alors je l'ai acheté dans une adresse de boîte aux lettres. Et fait beaucoup de mail pour vous. Dans la lettre, je vous dis dès que possible de visiter ce site et de vérifier votre compte en utilisant la dernière situation. Pour vous donner un moyen pratique, j'ai aussi fait un lien vers cette lettre. Je voudrais un lien URL, le paramètre nom d'utilisateur dans le code de script à lécher ajouté. Certains clients sans le savoir, cliquez sur ce lien, qui est sur mon quand (photo), et j'ai aussi bénéficié de:
C'est ce travail, comme lorsque vous cliquez sur ce lien après lien dans le code de script sera utilisé pour guider votre navigateur pour télécharger mon programme avascript et l'exécuter. Mon script vérifie à l'aide du navigateur IE, vous, de procéder pour télécharger particularlyNasty.dll contrôle ActiceX. Parce que avant d'avoir le contenu de ce site qui est toujours en sécurité, donc mon code de script et des contrôles actifs sur votre machine peut se déplacer librement.
3, description attaque Activex
Lors de l'examen ActiveX, Microsoft et le CERT aucune référence à la méthode de script inter-sites du risque posé par. W3C Dans "La sécurité Foire aux questions des questions de sécurité ActiveX ont été faites sur une description plus détaillée. applet Java sur le contrôle du système est strictement limité. développement soleil, quand il prévoit que seuls ceux qui ne posent pas de menace pour la sécurité du système a été autorisé à exécuter l'opération.
D'autre part, ActiveX sur le fonctionnement du système n'est pas strictement limité. Toutefois, si l'on a été téléchargé, vous pouvez installer l'exécutable que faire ce qu'ils voulaient faire la même chose. navigateur IE pour que cette fonctionnalité est également faite de certaines restrictions, telles que celles du site à risque, dans ses paramètres par défaut ne vous permettra pas de télécharger ou de vous donner un message d'avertissement. Est basée sur le développement des ActiveX pour des entreprises telles que VeriSign Inc, ils ont donné le numéro de contrôle ActiveX. Lorsque vous téléchargez, après le contrôle du temps, le navigateur IE vais vous donner un avertissement et affiche le degré de sa misérable crédibilité. Par l'utilisateur de décider s'il ya lieu de croire ce contrôle. En augmente la sécurité du système.
Toutefois, pour les utilisateurs qui n'ont pas beaucoup d'expérience, ils sont souvent inconsciemment, les paramètres d'origine ont été modifiés pour permettre à ces contrôles sans aucune contrainte téléchargé le fichier. En outre, un novice, même dans le cas d'une invite à télécharger sans réfléchir ne fera aucune marque dans lesquels les contrôles. Dans nos exemples, parce que vous faites confiance au site, en changeant les paramètres du navigateur, donc, les contrôles ActiveX sans aucune contrainte à télécharger, et sans le savoir sur votre machine commence à courir .
4, 16 hexadécimal codé script ActiveX attaque
Mauvaises intentions devraient faire la distinction entre l'étiquette et le script est très difficile. Script peut également être sous la forme de 16 hex se cacher. Penchons-nous sur l'E-mail suivant cet exemple s'il vous plaît? Il est sous la forme de 16 hex est envoyé:
C'est presque un message complet, qui contient un hexagone de 16 faux paramètres URL: expéditeur mynicesite.com =. Lorsque l'utilisateur clique sur le lien, le navigateur de l'utilisateur va commencer la première affaire soumise directement à la transformation de la pop-up d'alerte fenêtre.
Partie II: Cross Site Script crime Prévention des attaques
Tout d'abord, comment éviter d'être des attaques cross-site serveur Script
Heureusement, prévenir les attaques cross-site la technologie se perfectionne Script. plusieurs moyens peuvent être prises pour prévenir les attaques cross-site de script:
1. Sur les pages générées dynamiquement caractères sont codés
2. Pour filtrer et limiter le rejet
3. Utilisation de HTML et le codage URL
1. Sur les pages générées dynamiquement caractères sont codés
Vous devez d'abord utiliser est généré dynamiquement des pages sur l'encodage des caractères, vous devez le faire, ou de hacker est susceptible de changer votre jeu de caractères et facilement grâce à votre ligne de défense. Si notre site est en anglais site web, donc si nous avons mis l'encodage des caractères en caractères latins ISO-8859-1 sur la ligne, comme suit:
META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
2. Filtrage et restreindre l'ensemble des données d'entrée
Il s'agit d'éviter «cross-site Script La seconde méthode d'attaque, au cours de signer po Ne laissez pas les caractères spéciaux sont inscrits. Par conséquent, nous pouvons ajouter des procédures avascript façon onSubmit pour accomplir cette fonction. Dans ce cas, nous limitons ne pouvez entrer 15 caractères. Cela permettra d'éviter ces entrées à long script.
Dans Knowledge article de la Base QA252985 Ce livre offre un programme avascript brève Microsoft pour compléter les données de filtrage des entrées. Nous avons également introduit dans les circonstances particulières de ce code pour notre exemple, tels que:
checkForm fonction () (
document.forms [0]. userName.value = _
RemoveBad (document.forms [0]. UserName.value);
return true;
)
/ / MICROSOFT''S CODE
fonction RemoveBad (strTemp) (
(/ / /"/''/%/;/(/)/&/+/-/ StrTemp.replace strTemp = g ,"");
strTemp retour;
)
En utilisant cette méthode, vous pouvez filtrer celles contenues dans le caractère d'entrée:
% [] (); + & - "''()
3. Utilisation de HTML et le codage URL
Bien que l'utilisation de filtres et les restrictions mentionnées ci-dessus, la méthode d'entrée est d'utiliser un moyen très important de la défense, mais c'était ma façon de telles attaques par courrier ou par impuissance. Je mets les paramètres d'URL directement sur le message. Compte tenu de ce que nous avons à prendre une des mesures de sécurité plus robuste. Si nous utilisons ASP, relativement parlant, pour résoudre beaucoup plus facile. Tant que le total des pages HTML générées dynamiquement et l'encodage d'URL sur la ligne. Le cas de notre exemple, entrez la première page de l'URL de redirection nous avons fait les changements suivants:
strRedirectUrl = strRedirectUrl & _
Server.URLEncode (Response.Cookies ("username"))
Nous nous sommes joints à la mise en œuvre de la page:
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
Et
strUserName = Server.HTMLEncode (Request.Form ("username"))
Microsoft recommande à toutes les entrées et les sorties des pages dynamiques doivent être codés. Même les données dans la base de données et de supprimer la même chose devrait être vraie. Alors que vous pouvez largement éviter les attaques de script inter-sites.
Pour atteindre ces devrait être ajouté dans Page1.asp:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
''Redirection si détecter le cookie
strRedirectUrl Dim
strRedirectUrl = "page2.asp? Nom d'utilisateur ="
strRedirectUrl = strRedirectUrl & _
Server.URLEncode (Request.Cookies ("username"))
Response.Redirect (strRedirectUrl)
% Autres
HTML
HEAD
META Http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"
Accueil TITLE MyNiceSite.com Page TITRE /
/ Head
SCRIPT LANGUAGE="avascript"
! -
checkForm fonction () (
document.forms [0]. userName.value =
RemoveBad (document.forms [0]. UserName.value);
return true;
)
fichier //*********************************************** *******
fichier / / Programmeur: pas original CODE - vient de MICROSOFT
fichier / / Code Source: Base de connaissances Microsoft article Q25z985
fichier / / Description: caractères élimine les mauvaises.
fichier //*********************************************** *******
fonction RemoveBad (strTemp) (
strTemp = g (/ / /"/''/%/;/(/)/&/+/-/ strTemp.replace, "");
strTemp retour;
)
fichier //--
/ SCRIPT
BODY
BR
H2 MyNiceSite.com / H2
BR
checkForm();" FORM onsubmit="return Method="post"action="page2.asp"
Entrez votre nom d'utilisateur MyNiceSite.com:
INPUT Type="text"name="userName" width="10" maxwidth="10"
INPUT Type="submit"name="submit" value="submit"
/ Form
/ Body
/ Html
% End if%
Page2.asp Canada, tels que:
% @ Language = VBScript%
% Dim strUserName
Si Request.QueryString ("Alors ") "" userName
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
D'autre
Response.Cookies ("username") = Request.Form ("username")
strUserName = Server.HTMLEncode (Request.Form ("username"))
End If%
HTML
HEAD
META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
/ Head
BODY
H3 Align="center" Bonjour: % = strUserName% / H3
/ Body
/ Html
Maintenant, à cause de cette attaque était un contrôle efficace. Que les étiquettes et les scripts par un code malveillant, qu'ils soient sous forme écrite sont apparues, comme le montre ci-dessous:
Nous avons également augmenter le composant IIS utilisée pour filtrer tous d'une entrée dynamique des caractères spéciaux. Pour ceux qui ont des sites Web bien, cette approche pour prévenir les attaques de script inter-sites sont faciles. Nous pouvons bloquer cette demande de contrôle objectifs à partir des pages ASP, peut se former, cookie, le contenu de la chaîne de demande et les procédures pour détecter:
Nous pouvons également écrire le fichier de log par la méthode des données statistiques pour pouvoir rejoindre les composants. Chaque fois qu'un client entre un caractère illégal, cette composante de prendre note de son adresse IP et l'heure. Les détails sont Doug doyen de Roll votre propre application IIS sur ASPToday article.
Nous avons juste besoin de prendre quelques simples Buju peuvent effectivement empêcher les attaques de script inter-sites. Outre les trois méthodes mentionnées ci-dessus, Microsoft et le CERT a également fortement recommandé d'utiliser un processus qu'ils appellent le test de validation »approche.例如,假设有个输入窗口只允许输入数字,我们就给它做个限定,只允许0-9数字的输入。微软和CERT所采用的这种对输入的字符进行限定的办法要比单独的采用过滤特殊字符要好得多。采用了这些措施后你就能让那些参观你网站的客户在访问你网站时受到保护。
二、免受黑客攻击我们浏览器方法:
当你在网上漫游的时侯,怎样来避免受到攻击呢?微软和CERT建议不要在网上胡碰乱撞。针对这种情况,PC杂志一个栏目的名叫John Dvorack作者作了一个饶有兴趣的回答。他认为这是微软公司一起有预谋的行为:就是用来恐吓网上冲浪的人到那些安全的站点去浏览,如美国在线和MSN.com网站。
在我们所举的例子中,即使你不在网上胡乱游荡,也不能避免在网上遭到黑客的袭击。具有讽刺意义的是,大多数的危险都来自于我们最信任的网站。如果要让网站一定不出问题,你只好不下载任何动态内容或者任何cookie。预知详情请参阅浏览器的相关资料。
微软也警告你们应把浏览器的Active Script设置成严格限制的状态并把Email也设成严格限制的接收模式。在点击邮件中的链接时,一定要小心。如需进一步了解情况请参阅一本名叫<<Microsoft''s Knowledge Base Article Q253117>>的书。为了以防万一,你最好是多一点上网经验,并且时刻要小心谨慎。
结论
如果你是以前的UNIX程序开发人员,你也许不会知道跨站script意谓着什么。你知道许多站点的管理人员登录的用户名和密码分别为root,root.同样许多数据库管理员的名称和密码分别为sa,password。你也知道Webzine(如Phrack 和 Alt2600),依据他们所提供的方法能让你一步步地知道某台服务器的弱点。在这种硬件上,你也知道许多网站的数据库服务器和web服务器都没有进行自我保护。一但遭遇黑客,机器就得瘫痪。
尽管我们很容易采取防止系统受到黑客的攻击的措施,但我们的系统是一直暴露在黑客面前的。我们完全有理由相信下一年还会出现一些新的安全漏洞。在CERT公司John Howard先生指导下完成的一篇论文中曾提到:"跟据目前的研究显示,每个在英特网上具有域名的网站平均一年被黑客至少攻击一次。"
对服务器来说那怕只是一次这种攻击也是不能承受的。跨站Script攻击是黑客可采用的另一种方法。但我们只要进行以上所说的一些简单的处理就能防止这种形式攻击的发生。