Il s'avère que changer mdb en asp peut empêcher le téléchargement est un non-sens. Utilisez Flashget pour tester le téléchargement du fichier data.asp et enregistrez-le en tant que fichier data.mdb. J'ai constaté qu'il est intact lorsqu'il est ouvert avec ACCESS ! 1. Utilisez votre imagination pour modifier le nom du fichier de base de données
Toutefois, si l’attaquant obtient le chemin d’accès à la base de données via une méthode tierce, il peut télécharger la base de données. La confidentialité est donc au minimum.
2. Modifiez le suffixe du nom de la base de données en ASA, ASP, etc.
Cette méthode doit être combinée avec certains paramètres, sinon la situation au début de cet article se produira.
(1) Champ binaire ajouté.
(2) Ajoutez <% ou %> à ce fichier, IIS l'analysera selon la syntaxe ASP, puis signalera une erreur 500, il ne peut naturellement pas être téléchargé. Cependant, il est inutile d'ajouter simplement <% au champ texte ou mémo de la base de données, car ACCESS traitera le contenu, et il existera dans la base de données sous le nom <%, ce qui n'est pas valide ! La méthode correcte consiste à stocker <% dans le champ de l'objet OLE, afin que notre objectif puisse être atteint.
Comment faire :
Tout d’abord, utilisez le Bloc-notes pour créer un nouveau fichier texte avec le contenu <%, donnez-lui un nom aléatoire et enregistrez-le.
Ensuite, ouvrez votre fichier de base de données avec Access, créez une nouvelle table, donnez-lui un nom aléatoire, ajoutez un champ d'objet OLE à la table, puis ajoutez un enregistrement et insérez le fichier texte créé précédemment. Si cela est fait correctement, vous devriez pouvoir. pour voir Un nouvel enregistrement nommé "Data Packet".
3. Ajoutez # avant le nom de la base de données
Ajoutez simplement # au nom du fichier de base de données, puis modifiez l'adresse de la base de données dans le fichier de connexion à la base de données (tel que conn.asp). Le principe est que lors du téléchargement, seule la partie précédant le signe # peut être reconnue, et les parties suivantes seront automatiquement supprimées. Par exemple, si vous souhaitez télécharger : http://www.pcdigest.com/date/#123. .mdb (en supposant qu'il existe). Qu'il s'agisse d'IE ou de FLASHGET, vous obtenez http://www.test.com/date/index.htm (index.asp, default.jsp, etc., les documents de la page d'accueil que vous avez définis dans IIS)
De plus, conserver certains espaces dans le nom du fichier de base de données joue également un rôle similaire. En raison de la particularité du protocole HTTP pour la résolution d'adresse, les espaces seront codés en %, comme http://www.test.com/date/. 123;456.mdb, téléchargé depuis http://www.test.com/date/123%456.mdb. Notre répertoire ne contient pas du tout le fichier 123%456.mdb, donc le téléchargement est invalide. Après cette modification, même si vous exposez l'adresse de la base de données, généralement les autres ne pourront pas le télécharger !
4. Crypter la base de données
Tout d'abord, sélectionnez Outils->Sécurité->Crypter/Déchiffrer la base de données, sélectionnez la base de données (par exemple : employé.mdb), puis cliquez sur OK. Ensuite, une fenêtre apparaîtra pour enregistrer la base de données après le cryptage et l'enregistrer sous : employé1. mdb. Ensuite, Employee.mdb sera codé puis enregistré sous Employee1.mdb. Il convient de noter que l'action ci-dessus ne définit pas de mot de passe pour la base de données, mais encode uniquement le fichier de base de données. Le but est d'empêcher les autres d'utiliser d'autres outils. Affichez le contenu du fichier de base de données.
Ensuite, nous chiffrons la base de données. Tout d'abord, ouvrons le fichier Employee1.mdb codé. Lors de l'ouverture, sélectionnez le mode exclusif. Sélectionnez ensuite Outils->Sécurité->Définir le mot de passe de la base de données dans le menu, puis entrez le mot de passe. De cette façon, même si quelqu'un d'autre obtient le fichier Employee1.mdb, il ne peut pas voir Employee1.mdb sans le mot de passe.
Après le chiffrement, vous devez modifier la page de connexion à la base de données, comme :
conn.open driver={pilote d'accès Microsoft (*.mdb)};uid=admin;pwd=mot de passe de la base de données;dbq=chemin de la base de données
Après cette modification, même si la base de données est téléchargée, les autres ne pourront pas l'ouvrir (à condition que le mot de passe de votre page de connexion à la base de données n'ait pas été divulgué)
Mais il convient de noter que le mécanisme de cryptage de la base de données Access étant relativement simple, même si un mot de passe est défini, le décryptage est facile. Le système de base de données forme une chaîne cryptée en effectuant un XOR avec le mot de passe saisi par l'utilisateur avec une clé fixe et la stocke dans la zone du fichier *.mdb à partir de l'adresse &H42. Ainsi, un bon programmeur peut facilement créer un petit programme avec des dizaines de lignes pour obtenir facilement le mot de passe de n’importe quelle base de données Access. Par conséquent, tant que la base de données est téléchargée, la sécurité de ses informations reste inconnue.
5. Placez la base de données en dehors du répertoire WEB ou placez le fichier de connexion à la base de données dans d'autres répertoires virtuels
Si votre répertoire WEB est e:/webroot, vous pouvez mettre la base de données dans le dossier e:/data, et modifier l'adresse de connexion à la base de données sur la page de connexion à la base de données dans e:/webroot en : ../data/nom de la base de données, pour que la base de données puisse être appelée normalement, mais elle ne peut pas être téléchargée car elle n'est pas dans le répertoire WEB ! Cette méthode ne convient généralement pas aux utilisateurs qui achètent de l'espace virtuel.
6. Utilisez des sources de données ODBC.
Dans une programmation telle qu'ASP, vous devez si possible essayer d'utiliser des sources de données ODBC et ne pas écrire le nom de la base de données dans le programme, sinon le nom de la base de données sera perdu ainsi que la confidentialité du code source ASP. Par exemple : DBPath. = Serveur.MapPath(. ./123/abc/asfadf.mdb )
conn.open driver={Pilote Microsoft Access (*.mdb)};dbq=& DBPath
On peut voir que peu importe à quel point le nom de la base de données est étrange, quelle que soit la profondeur du répertoire caché, une fois le code source ASP compromis, il peut être facilement téléchargé. Si vous utilisez une source de données ODBC, il n'y aura pas de problème : conn.open ODBC-DSN name, mais c'est plus ennuyeux si vous déplacez le répertoire, vous devez réinitialiser la source de données. Pour une méthode plus pratique, veuillez consulter. Chapitre 7. 8 méthodes !
7. Ajoutez un mappage étendu du nom de la base de données tel que MDB
Cette méthode est obtenue en modifiant les paramètres IIS. Elle convient aux amis qui contrôlent IIS, mais ne convient pas aux utilisateurs qui achètent des hôtes virtuels (sauf si l'administrateur l'a configurée). Je pense que cette méthode est la meilleure actuellement. Avec un seul changement, il est possible d'empêcher le téléchargement de l'ensemble de la base de données du site. Les téléchargements peuvent être empêchés même si l'adresse cible est exposée sans modifier le code.
Nous ajoutons l'analyse d'application du fichier .mdb dans Propriétés IIS --- Répertoire personnel --- Configuration --- Mappage --- Extension d'application. Notez que la DLL (ou EXE, etc.) sélectionnée ici ne semble pas arbitraire. Si la sélection n'est pas appropriée, le fichier MDB peut toujours être téléchargé. Notez qu'il est préférable de ne pas sélectionner asp.dll, etc. Vous pouvez le tester vous-même
Après cette modification, téléchargez la base de données telle que : http://www.test.com/data/dvbbs6.mdb. Il apparaîtra (erreurs telles que 404 ou 500)
8 : Avantages de l’utilisation de .net
Mu Niao de Dongwang a écrit un outil anti-hotlink WBAL pour empêcher le téléchargement illégal de fichiers. Pour plus de détails, veuillez vous connecter à http://www.9seek.com/WBAL/ ;
Cependant, celui-ci empêche uniquement les téléchargements non locaux et n’a pas pour fonction d’empêcher véritablement les téléchargements de bases de données. Cependant, cette méthode est quasiment la même que la méthode 5. Vous pouvez modifier le fichier .NET pour qu'il ne puisse pas être téléchargé localement !
Parmi ces méthodes, seules les 7ème et 8ème méthodes peuvent être modifiées de manière uniforme. Après avoir modifié la configuration une fois, il est possible d'empêcher le téléchargement de la base de données de l'ensemble du site. Les autres méthodes nécessitent respectivement de modifier le nom de la base de données et le fichier de connexion, ce qui est le cas. C'est plus gênant, mais pour les amis hôtes virtuels, cela ne peut être fait que !
En fait, la sixième méthode devrait être une extension de la cinquième méthode, qui peut réaliser des fonctions spéciales. Cependant, pour les hôtes qui ne prennent pas en charge .net ou qui ont peur des paramètres gênants, il est préférable d'utiliser directement la cinquième méthode, et la méthode. La sixième méthode est utilisée par défaut. Méthode, vous pouvez toujours publier en copiant et en vous connectant au forum ou au livre d'or du même hôte, puis en cliquant pour télécharger (car ces pages de référence proviennent du même hôte)
9. Utilisez les paramètres d'autorisation de fichier de la partition NTFS (par percyboy)
Nous savons déjà qu'ASP.NET utilise ADO.NET pour accéder à la base de données, et la base de données Access - l'une de nos bases de données bas de gamme très couramment utilisées - est accessible via la connexion OleDb. Cet article traite de plusieurs invites d'erreur pouvant s'afficher dans ASP.NET. On constate que les fichiers de base de données créés par Access 2000 et Access XP auront des invites d'erreur différentes lorsque des erreurs d'accès se produisent. J'espère que cela aide tout le monde. Un autre point important est que j'espère que grâce à cet article, tout le monde aura une nouvelle compréhension des paramètres d'autorisation NTFS des fichiers de base de données Access dans ASP.NET.