Que vous le croyiez ou non, via ASP, vous pourriez être en mesure de pirater facilement le serveur Web, de voler des fichiers sur le serveur, de capturer les mots de passe utilisateur des bases de données Web et d'autres systèmes, ou même de supprimer des fichiers malicieusement sur le serveur jusqu'à ce que le système soit endommagé .
Dans l'article précédent, je me suis concentré sur la façon d'afficher les pages lors de l'accès aux bases de données ADO. une valeur à la pages. Je tiens à remercier cet ami pour me souligner avec enthousiasme les lacunes du programme. Page, et à ce moment-là, je ne peux pas être sûr de savoir si PageCount peut obtenir correctement le nombre de pages, donc j'étais paresseux d'écrire cette formule :), pour être honnête, je n'ai pas encore essayé d'utiliser PageCount. Essayez-le, n'apprenez pas du mien, je suis paresseux.
Récemment, lorsque j'ai discuté du problème sur BBS en Chinaasp, j'ai trouvé que de nombreux amis ne savent pas grand-chose sur certains problèmes de sécurité de l'ASP, et je ne sais même pas comment résoudre le code source ASP :: $ Data Data , donc je pense qu'il est très nécessaire de me concentrer sur cette question pour tous les amis. Les problèmes de sécurité d'ASP qui sont cruciaux pour le webmaster.
Le lendemain de la vulnérabilité des données :: $ a été découverte et publiée l'année dernière, j'ai détecté la plupart des sites en Chine qui ont utilisé ASP à ce moment-là, et 99% d'entre eux avaient les problèmes ci-dessus avec le code source visible. , J'ai même eu le même problème que le code source étant visible. Vous pensez peut-être que voir le code source n'est pas un gros problème, mais si vous, en tant que webmaster, pensez-vous, vous vous trompez. Par exemple, si un programmeur ASP écrit le mot de passe de connexion du site directement dans l'ASP, une fois que le code source est découvert, d'autres peuvent facilement entrer la page qui n'aurait pas dû être vue. GRATUIT. Dans certains programmes BBS développés avec ASP, la bibliothèque AccessMDB est souvent utilisée. est très dangereux si la personne qui obtient le mot de passe commet intentionnellement des dommages malveillants, il n'a qu'à se connecter en tant qu'administrateur pour supprimer tous les messages de BBS, ce qui vous suffit. Le suivant énumère certaines vulnérabilités qui ont été découvertes jusqu'à présent. Après le nom du fichier ASP dans la barre d'adresse du navigateur. IIS3 a le même problème.
2. Une vulnérabilité bien connue de IIS2, IIS3 et IIS4 est :: $ Data. Win98 + PWS4 n'a pas cette vulnérabilité.
Qu'est-ce qui cause exactement cette terrible lacune? La cause profonde est que le système de fichiers unique à Windowsnt fait un monstre. Toute personne ayant un bon sens sait que NT fournit un système de fichiers complètement différent de la graisse: NTFS, une technologie appelée le nouveau système de fichiers technologiques, qui fait que NT a un mécanisme de sécurité supérieur, mais c'est aussi parce qu'il a provoqué de nombreux maux de tête. Vous ne savez peut-être pas que NTFS prend en charge plusieurs flux de données contenus dans un fichier, et ce flux de données principal contenant tout le contenu est appelé des données, il permet donc au navigateur d'accéder directement au système NTFS et de les capturer facilement. Cependant, la raison directe de :: $ data est que IIS a un problème lors de l'analyse des noms de fichiers, ce qui ne normalise pas très bien les noms de fichiers.
Comment pouvons-nous résoudre ce problème? Il y a plusieurs façons:
a.
b.
Ce patch est pour IIS3, plate-forme Intel
ftp.microsoft.com/bussys/iis/iis
-Public / Fixes / Cht / Security / Iis3-Datafix / iis3fixi.exe
Ce patch est pour IIS3, plate-forme Intel
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis3-datafix/iis3fixa.exe
Ce patch est pour IIS4, plate-forme alpha
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixi.exe
Ce patch est pour la plate-forme alpha iis4
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixa.exe
c. Il s'agit d'installer IE4.01SP1 sur le serveur.
d. Version chinoise.
3. Problèmes auxquels sont confrontés les serveurs qui prennent en charge l'espace de page d'accueil gratuit d'ASP et les services d'hébergement virtuel
1. Le code ASP sur le serveur est susceptible d'être obtenu illégalement par d'autres personnes ayant des autorisations ASP.
Pour donner un exemple très simple, dans la routine ASP1.0 fournie par Microsoft, un fichier .asp est spécifiquement utilisé pour afficher le code source des autres fichiers .asp. Si quelqu'un télécharge ce programme sur le serveur sans aucune précaution sur le serveur, il peut facilement afficher les programmes d'autres personnes.
Par exemple:
Code.asp? Source = / Directory / File.asp
2. La base de données MDB Access peut être téléchargée. MDB est loin.
<% connstr = dbq = + server.mapath (database / source.mdb) +; defaultDir =; driver = {Microsoft Access Driver (* .mdb)}; driverID = 25; fil = ms Access; ImplicitComtsYnc = Oui; MaxBuffeSize = 512; MaxScanRows = 8; PageTimeout = 5;
Comme mentionné précédemment, dans ce cas, la bibliothèque MDB est susceptible d'être téléchargée par d'autres, ce qui entraîne une fuite de mots de passe, etc.
Par conséquent, en tant que webmaster, nous devons prendre certaines mesures pour interdire strictement des programmes tels que Code.asp (il semble difficile à faire, mais les codes de fonction peuvent être récupérés régulièrement) et restreindre le téléchargement de MDB.
3. Menaces des composants puissants de FilesystemObject
Les opérations de fichiers de IIS3 et IIS4 ASPS peuvent être implémentées via FilesystemObject, y compris les opérations de répertoire de lecture et d'écriture des fichiers texte, de renommée et de suppression des fichiers, etc., mais cette fonction puissante laisse également une porte dérobée très dangereuse. FileSystemObjet peut altérer n'importe quel fichier sur la partition de graisse. Même si les autorisations ne sont pas réglées correctement, elle peut également être détruite. Malheureusement, de nombreux webmasters ne savent que faire fonctionner le serveur Web et définir rarement les autorisations pour NTFS, tandis que les paramètres par défaut pour les autorisations de répertoire NT sont terriblement faibles. Par conséquent, si vous êtes un webmaster, l'auteur recommande fortement de porter une attention particulière aux paramètres du serveur et d'essayer de créer le répertoire Web sur la partition NTFS. Le groupe administrateur, il n'est généralement pas nécessaire de contrôler pleinement.
4. Les attaques auxquelles les applications ASP peuvent être confrontées dans le passé.
Dans les fichiers HTML, si le texte entré par le client doit être affiché dans le fichier HTML, il doit se conformer aux normes HTML, et les programmes CGI incluent généralement des langues HTML spécifiques. Lorsque le client entre dans le contenu et insère un fichier HTML, il est inséré dans l'instruction HTML de tête et de queue en même temps, comme:
<FONT> Variables entrées par le client </font> Mais si le HTML avant et après est marqué à l'écran, vous pouvez faire beaucoup de choses.
Si tapé sur:
</font> La <font> avant et après l'instruction <font> qui est conforme aux normes HTML est utilisée pour les instructions HTML dans mon écran CGI. Ce qui est inséré dans le fichier HTML devient:
<font> </font> Déclaration qui est conforme aux normes HTML <font> </font> en raison de cette fonctionnalité, l'écriture d'une boucle vicieuse JavaScript est très facile, il suffit de l'entrer dans la zone d'entrée:
<a href = url onMouseOver = while (1) {window.close ('/')}> ou <a herf = url onMousever = while (ture) {window.close ('/')}> alors vous pouvez en faire d'autres autres Choses que le navigateur du client qui a vu le message est mort en raison de la boucle morte. Les programmes développés par ASP peuvent également avoir ce problème, donc lorsque vous écrivez des programmes similaires dans ASP, vous devez faire attention à ces opérations, telles que la rédaction d'un programme pour juger les contributions du client et bloquer toutes les déclarations HTML et JavaScript.
Après avoir lu ce numéro, si vous êtes très choqué, vous devez bien vérifier votre site Web ou votre programme ASP existant pour voir s'il existe l'une des vulnérabilités ci-dessus. Si vous comprenez les vulnérabilités mentionnées dans l'article et que vous avez des contre-mesures suffisantes, alors que vous devriez vous rappeler de vérifier fréquemment vos programmes de site Web et ASP. Attaquer en utilisant certaines vulnérabilités que nous ne connaissons pas. Enfin, si vous avez des informations uniques sur les problèmes de sécurité ASP discutés dans cet article, ou si vous avez de nouvelles découvertes sur les vulnérabilités, j'espère m'écrire pour en discuter