Es stellt sich heraus, dass das Ändern von MDB in ASP das Herunterladen verhindern kann, Unsinn ist. Laden Sie die data.asp-Datei mit Flashget testweise herunter und speichern Sie sie als data.mdb-Datei. Ich habe festgestellt, dass sie beim Öffnen mit ACCESS intakt ist. 1. Lassen Sie Ihrer Fantasie freien Lauf, um den Namen der Datenbankdatei zu ändern
Wenn der Angreifer jedoch über eine Methode eines Drittanbieters an den Pfad zur Datenbank gelangt, kann er die Datenbank herunterladen. Daher ist die Vertraulichkeit auf ein Minimum beschränkt.
2. Ändern Sie das Suffix des Datenbanknamens in ASA, ASP usw.
Diese Methode muss mit einigen Einstellungen kombiniert werden, sonst tritt die Situation am Anfang dieses Artikels ein.
(1) Binärfeld hinzugefügt.
(2) Fügen Sie <% oder %> zu dieser Datei hinzu. IIS analysiert sie gemäß der ASP-Syntax und meldet dann einen 500-Fehler. Natürlich kann sie nicht heruntergeladen werden. Es ist jedoch sinnlos, einfach <% zum Text- oder Memofeld der Datenbank hinzuzufügen, da ACCESS den Inhalt verarbeitet und er in der Datenbank als <% vorhanden ist, was ungültig ist! Die richtige Methode besteht darin, <% im OLE-Objektfeld zu speichern, damit unser Ziel erreicht werden kann.
So geht's:
Erstellen Sie zunächst mit Notepad eine neue Textdatei mit dem Inhalt <%, geben Sie ihr einen zufälligen Namen und speichern Sie sie.
Öffnen Sie als Nächstes Ihre Datenbankdatei mit Access, erstellen Sie eine neue Tabelle, geben Sie ihr einen zufälligen Namen, fügen Sie der Tabelle ein OLE-Objektfeld hinzu, fügen Sie dann einen Datensatz hinzu und fügen Sie die zuvor erstellte Textdatei ein um einen neuen Datensatz mit dem Namen „Data Packet“ zu sehen
3. Fügen Sie # vor dem Datenbanknamen hinzu
Fügen Sie einfach # zum Frontnamen der Datenbankdatei hinzu und ändern Sie dann die Datenbankadresse in der Datenbankverbindungsdatei (z. B. conn.asp). Das Prinzip besteht darin, dass beim Herunterladen nur der Teil vor dem #-Zeichen erkannt wird und die folgenden Teile automatisch entfernt werden, wenn Sie beispielsweise herunterladen möchten: http://www.pcdigest.com/date/#123 .mdb (vorausgesetzt, es existiert). Unabhängig davon, ob es sich um IE oder FLASHGET handelt, erhalten Sie http://www.test.com/date/index.htm (index.asp, default.jsp usw., die Homepage-Dokumente, die Sie in IIS festlegen).
Darüber hinaus spielt auch die Beibehaltung einiger Leerzeichen im Datenbankdateinamen eine ähnliche Rolle. Aufgrund der Besonderheit des HTTP-Protokolls für die Adressauflösung werden Leerzeichen als % codiert, z. B. http://www.test.com/date/. 123;456.mdb, heruntergeladen von http://www.test.com/date/123%456.mdb. In unserem Verzeichnis befindet sich die Datei 123%456.mdb überhaupt nicht, daher ist der Download ungültig. Selbst wenn Sie die Datenbankadresse offenlegen, können andere sie nach dieser Änderung im Allgemeinen nicht herunterladen!
4. Verschlüsseln Sie die Datenbank
Wählen Sie zunächst „Extras“ > „Sicherheit“ > „Datenbank verschlüsseln/entschlüsseln“, wählen Sie die Datenbank aus (z. B. „mitarbeiter.mdb“) und klicken Sie dann auf „OK“. Anschließend wird ein Fenster angezeigt, in dem Sie die Datenbank nach der Verschlüsselung speichern und unter „mitarbeiter1“ speichern können. mdb. Dann wird mitarbeiter.mdb codiert und dann als mitarbeiter1.mdb gespeichert. Es ist zu beachten, dass die obige Aktion kein Kennwort für die Datenbank festlegt, sondern nur die Datenbankdatei codiert. Der Zweck besteht darin, andere daran zu hindern, andere Tools zu verwenden Sehen Sie sich den Inhalt der Datenbankdatei an.
Als nächstes verschlüsseln wir die Datenbank. Öffnen Sie zunächst die verschlüsselte Employee1.mdb. Wählen Sie beim Öffnen den exklusiven Modus. Wählen Sie dann im Menü Extras->Sicherheit->Datenbankkennwort festlegen und geben Sie dann das Kennwort ein. Auf diese Weise kann jemand anderes, selbst wenn er die Datei „employer1.mdb“ erhält, ohne das Kennwort „employer1.mdb“ nicht sehen.
Nach der Verschlüsselung müssen Sie die Datenbankverbindungsseite ändern, z. B.:
conn.open Driver={Microsoft Access Driver (*.mdb)};uid=admin;pwd=Datenbankkennwort;dbq=Datenbankpfad
Selbst wenn die Datenbank nach dieser Änderung heruntergeladen wurde, können andere sie nicht öffnen (vorausgesetzt, das Passwort auf Ihrer Datenbankverbindungsseite wurde nicht durchgesickert).
Es ist jedoch zu beachten, dass die Entschlüsselung einfach ist, selbst wenn ein Kennwort festgelegt ist, da der Verschlüsselungsmechanismus der Access-Datenbank relativ einfach ist. Das Datenbanksystem bildet eine verschlüsselte Zeichenfolge, indem es das vom Benutzer eingegebene Passwort mit einem festen Schlüssel XOR-verknüpft und diese im Bereich der *.mdb-Datei ab Adresse &H42 speichert. Ein guter Programmierer kann also problemlos ein kleines Programm mit Dutzenden von Zeilen erstellen, um problemlos das Passwort einer beliebigen Access-Datenbank zu erhalten. Daher bleibt die Informationssicherheit der Datenbank unbekannt, solange sie heruntergeladen wird.
5. Platzieren Sie die Datenbank außerhalb des WEB-Verzeichnisses oder platzieren Sie die Datenbankverbindungsdatei in anderen virtuellen Verzeichnissen
Wenn Ihr WEB-Verzeichnis e:/webroot ist, können Sie die Datenbank im Ordner e:/data ablegen und die Datenbankverbindungsadresse auf der Datenbankverbindungsseite in e:/webroot ändern in: ../data/database Namensform, damit die Datenbank normal aufgerufen, aber nicht heruntergeladen werden kann, da sie nicht im WEB-Verzeichnis liegt! Diese Methode ist im Allgemeinen nicht für Benutzer geeignet, die virtuellen Raum erwerben.
6. Verwenden Sie ODBC-Datenquellen.
Bei der Programmierung wie ASP sollten Sie nach Möglichkeit versuchen, ODBC-Datenquellen zu verwenden und den Datenbanknamen nicht in das Programm zu schreiben. Andernfalls geht der Datenbankname zusammen mit der Vertraulichkeit des ASP-Quellcodes verloren = Server.MapPath(. ./123/abc/asfadf.mdb)
conn.open drivers={Microsoft Access Driver (*.mdb)};dbq=& DBPath
Es ist ersichtlich, dass der ASP-Quellcode nach der Kompromittierung problemlos heruntergeladen werden kann, egal wie seltsam der Name der Datenbank ist und wie tief das versteckte Verzeichnis ist. Wenn Sie eine ODBC-Datenquelle verwenden, tritt dieses Problem nicht auf: conn.open ODBC-DSN-Name, aber das ist ärgerlicher. Wenn Sie das Verzeichnis verschieben, müssen Sie die Datenquelle zurücksetzen. Weitere Informationen finden Sie unter Kapitel 7. 8 Methoden!
7. Fügen Sie eine erweiterte Zuordnung des Datenbanknamens hinzu, z. B. MDB
Diese Methode wird durch Ändern der IIS-Einstellungen erreicht. Sie eignet sich für Freunde, die über IIS-Kontrolle verfügen, ist jedoch nicht für Benutzer geeignet, die virtuelle Hosts erwerben (es sei denn, der Administrator hat sie eingerichtet). Ich denke, diese Methode ist derzeit die beste. Mit nur einer Änderung kann verhindert werden, dass die gesamte Datenbank der Website heruntergeladen wird. Downloads können verhindert werden, selbst wenn die Zieladresse offengelegt wird, ohne den Code zu ändern.
Wir fügen die Anwendungsanalyse der .mdb-Datei in IIS Properties---Home Directory---Configuration---Mapping---Application Extension hinzu. Beachten Sie, dass die hier ausgewählte DLL (oder EXE usw.) nicht willkürlich zu sein scheint. Wenn die Auswahl nicht geeignet ist, kann die MDB-Datei trotzdem heruntergeladen werden. Beachten Sie, dass es am besten ist, asp.dll usw. auszuwählen. Sie können es selbst testen
Laden Sie nach dieser Änderung die Datenbank herunter, z. B.: http://www.test.com/data/dvbbs6.mdb. Es wird angezeigt (Fehler wie 404 oder 500)
8: Vorteile der Verwendung von .net
Mu Niao aus Dongwang hat ein WBAL-Anti-Hotlink-Tool geschrieben, um das illegale Herunterladen von Dateien zu verhindern. Für Einzelheiten melden Sie sich bitte unter http://www.9seek.com/WBAL/ an.
Diese verhindert jedoch nur nicht-lokale Downloads und hat nicht die Funktion, Datenbank-Downloads wirklich zu verhindern. Allerdings ist diese Methode fast die gleiche wie Methode 5. Sie können die .NET-Datei so ändern, dass sie nicht lokal heruntergeladen werden kann!
Von diesen Methoden können nur die 7. und 8. Methode einheitlich geändert werden. Nach einmaliger Änderung der Konfiguration kann verhindert werden, dass die Datenbank der gesamten Site heruntergeladen wird. Die anderen Methoden erfordern eine Änderung des Datenbanknamens bzw. der Verbindungsdatei mühsamer, aber für virtuelle Gastgeberfreunde ist dies nur möglich!
Tatsächlich sollte die sechste Methode eine Erweiterung der fünften Methode sein, die spezielle Funktionen erreichen kann. Für Hosts, die .net nicht unterstützen oder Angst vor problematischen Einstellungen haben, ist es jedoch besser, die fünfte Methode direkt zu verwenden Standardmäßig wird die sechste Methode verwendet. Sie können weiterhin veröffentlichen, indem Sie eine Verbindung zum Forum oder Gästebuch desselben Hosts herstellen und dann zum Herunterladen klicken (da solche Referenzseiten vom selben Host stammen).
9. Verwenden Sie die Dateiberechtigungseinstellungen der NTFS-Partition (von percyboy)
Wir wissen bereits, dass ASP.NET ADO.NET verwendet, um auf die Datenbank zuzugreifen, und auf die Access-Datenbank – eine unserer sehr häufig verwendeten Low-End-Datenbanken – kann über die OleDb-Verbindung zugegriffen werden. In diesem Artikel werden verschiedene Fehlermeldungen erläutert, die in ASP.NET auftreten können. Es ist ersichtlich, dass von Access 2000 und Access XP erstellte Datenbankdateien unterschiedliche Fehlermeldungen aufweisen, wenn Zugriffsfehler auftreten. Ich hoffe, es hilft allen. Ein weiterer wichtiger Punkt ist, dass ich hoffe, dass jeder durch diesen Artikel ein neues Verständnis der NTFS-Berechtigungseinstellungen von Access-Datenbankdateien in ASP.NET erhält.