Ob Sie es glauben oder nicht, über ASP können Sie möglicherweise einfach in den Webserver hacken, Dateien auf dem Server stehlen, Benutzerkennwörter von Webdatenbanken und anderen Systemen erfassen oder sogar böswillig Dateien auf dem Server löschen, bis das System beschädigt ist . Es ist sensationell und ist tatsächlich geschehen.
Im vorherigen Artikel habe ich mich auf die Anzeige von Seiten bei ADO -Datenbanken konzentriert. Ein Wert für pagesze. Ich möchte diesem Freund dafür danken, dass er mir die Mängel im Programm enthusiastisch angegeben hat. Page, und zu diesem Zeitpunkt kann ich nicht sicher sein, ob PageCount die Anzahl der Seiten korrekt erhalten kann, also war ich faul, diese Formel zu schreiben :) Um ehrlich zu sein, habe ich noch nicht versucht, PageCount zu verwenden Probieren Sie es aus, lerne nicht aus meinem, ich bin faul.
Kürzlich, als ich das Problem auf BBS in Chinaasp besprochen habe, stellte ich fest, dass viele Freunde nicht viel über einige Sicherheitsprobleme von ASP wissen, und ich weiß nicht einmal, wie ich den gängigsten ASP :: $ -Daten -Anzeige -Quellcode lösen kann Ich denke, es ist sehr notwendig, hier auf dieses Thema für alle Freunde zu konzentrieren. Die Sicherheitsprobleme von ASP sind für Webmaster von entscheidender Bedeutung.
Am Tag nach der Entdeckung und Veröffentlichung der Verwundbarkeit von :: $ Data habe ich die meisten Standorte in China entdeckt, die ASP zu diesem Zeitpunkt verwendeten, und 99% hatten die oben genannten Probleme mit dem Quellcode an diesem Tag Ich hatte sogar das gleiche Problem wie der Quellcode, der sichtbar war. Sie denken vielleicht, dass es keine große Sache ist, den Quellcode zu sehen, aber wenn Sie als Webmaster denken, sind Sie sehr falsch. Wenn ein ASP -Programmierer beispielsweise das Anmeldekennwort der Site direkt in den ASP schreibt, können andere, sobald der Quellcode entdeckt wurde, die Seite einfach eingeben, die nicht gesehen werden sollte. kostenlos. In einigen mit ASP entwickelten BBS -Programmen wird die AccessMDB -Bibliothek häufig verwendet. ist sehr gefährlich, wenn die Person, die das Passwort absichtlich böswillige Schäden begeht, nur als Administrator anmelden muss, um alle Beiträge in BBS zu löschen, was für Sie erstickt ist. Im Folgenden sind einige Schwachstellen aufgeführt, die bisher entdeckt wurden. Nach dem ASP -Dateinamen in der Browser -Adressleiste wird heruntergeladen. IIS3 hat das gleiche Problem.
2. Eine bekannte Anfälligkeit von IIS2, IIS3 und IIS4 ist :: $ Daten, indem Sie mithilfe der ASP-Datei mit der Ansichtsquelle oder NetScape direkt auf die ASP-Datei zugreifen. Win98+PWS4 hat diese Verwundbarkeit nicht.
Was genau verursacht diese schreckliche Lücke? Die Root -Ursache ist, dass das bei Windowsn einzigartige Dateisystem ein Monster erstellt. Jeder, der einen gesunden Menschenverstand hat, weiß, dass NT ein Dateisystem bereitstellt, das sich völlig von Fat unterscheidet: NTFS, eine Technologie namens New Technology File System, die NT einen höheren Sicherheitsmechanismus hat, aber auch daran liegt, dass es viele Kopfschmerzen verursacht hat. Möglicherweise wissen Sie nicht, dass NTFS mehrere in einer Datei enthaltene Datenströme unterstützt. Dieser Hauptdatenstrom, der alle Inhalte enthält, werden als Daten bezeichnet. Daher kann der Browser direkt auf das NTFS -System zugreifen und es einfach erfassen. Der direkte Grund für :: $ Daten ist jedoch, dass IIS ein Problem beim Parsen von Dateinamen hat, die Dateinamen nicht sehr gut standardisiert.
Wie können wir dieses Problem lösen? Es gibt verschiedene Möglichkeiten:
a. Setzen Sie das Verzeichnis, in dem die .asp -Datei gespeichert ist (ASP kann weiterhin ausgeführt werden), damit HTML, CSS und andere Dateien in diesem Verzeichnis nicht platziert werden können, andernfalls werden sie nicht durchsucht.
b. Installieren Sie den von Microsoft bereitgestellten Patch.
Dieser Patch ist für IIS3, Intel Platform
ftp.microsoft.com/bussys/iis/iis
-Public/fixes/cht/security/iis3-datafix/iis3fixi.exe
Dieser Patch ist für IIS3, Intel Platform
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis3-datafix/iis3fixa.exe
Dieser Patch ist für IIS4, Alpha -Plattform
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixi.exe
Dieser Patch ist für IIS4, Alpha -Plattform
ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixa.exe
c.
d. Chinesische Version.
3.. Probleme mit Servern, die den kostenlosen Homepage -Raum von ASP und virtuelle Hosting -Dienste unterstützen
1. Der ASP -Code auf dem Server wird wahrscheinlich illegal von anderen Personen mit ASP -Berechtigungen erhalten.
Um ein sehr einfaches Beispiel zu geben, gibt es in der von Microsoft bereitgestellten ASP1.0 -Routine eine .asp -Datei speziell zum Anzeigen des Quellcodes anderer .asp -Dateien. Wenn jemand dieses Programm ohne Vorsichtsmaßnahmen auf dem Server auf den Server hochlädt, kann er problemlos die Programme anderer Personen anzeigen.
Zum Beispiel:
Code.asp? Source =/Directory/Datei.asp
2. Die verwendete MDB -Datenbank kann im Allgemeinen heruntergeladen werden. MDB ist weit weg.
< %connStr = dbq =+server.mapath (Datenbank/source.mdb)+; DefaultDir =; TRIVE = {Microsoft Access Driver (*.mdb)}; tribleId = 25; fil = ms access; implictCommitSync = maxbufferSize = 512; maxscanrows = 8; pagetimeout = 5;
Wie bereits erwähnt, wird in diesem Fall die MDB -Bibliothek wahrscheinlich von anderen heruntergeladen, was zu einem Austritt von Passwörtern usw. führt.
Daher sollten wir als Webmaster bestimmte Maßnahmen ergreifen, um Programme wie Code.asp strikt zu verbieten (es erscheint schwierig zu tun, aber Funktionscodes können regelmäßig abgerufen werden) und den Download von MDB einschränken.
3.. Bedrohungen aus leistungsstarken Dateisystemkomponenten
Die Dateioperationen von IIS3 und IIS4 ASPs können über Dateisystemen implementiert werden, einschließlich Lese- und Schreiben von Verzeichnisvorgängen von Textdateien, Umbenennen und Löschen von Dateien usw., aber diese leistungsstarke Funktion hinterlässt auch eine sehr gefährliche Hintertür. DateiSystemobjet kann jede Datei auf der Fat Partition manipulieren. Auch wenn die Berechtigungen nicht ordnungsgemäß eingestellt sind, kann sie auch zerstört werden. Leider wissen viele Webmaster nur, um den Webserver auszuführen und selten Berechtigungen für NTFs festzulegen, während die Standardeinstellungen für NT -Verzeichnisberechtigungen terrielbar niedrig sind. Wenn Sie ein Webmaster sind, empfiehlt der Autor dringend, die Servereinstellungen genau zu beachten, und versuchen Sie, das Webverzeichnis auf der NTFS -Partition zu erstellen. Die Administratorgruppe ist im Allgemeinen nicht erforderlich, um die Berechtigungen zu lesen und zu ändern.
4. Die Angriffe, mit denen ASP -Anwendungen in der Vergangenheit konfrontiert sind.
Wenn in HTML -Dateien der vom Client eingegebene Text in der HTML -Datei angezeigt werden soll, muss er den HTML -Standards entsprechen, und CGI -Programme enthalten im Allgemeinen spezifische HTML -Sprachen. Wenn der Client in den Inhalt eingeht und eine HTML -Datei einfügt, wird er gleichzeitig in die HTML -Anweisung für Kopf und Schwanz eingefügt, z. B.:
<Font> Variablen, die vom Client </font> eingegeben wurden, aber wenn das HTML vor und nach dem Bildschirm markiert ist, können Sie viele Dinge tun.
Wenn eingeben:
< /font> Die <font> vor und nach der Anweisung <Font>, die den HTML -Standards entspricht, wird für HTML -Anweisungen in meinem Bildschirm -CGI verwendet. Was in die HTML -Datei eingefügt wird, wird:
<Font> < /font> Anweisung, die den HTML -Standards <font> < /font> entspricht. Aufgrund dieser Funktion ist das Schreiben einer JavaScript -Schleife sehr einfach. Geben Sie sie einfach in das Eingabefeld ein:
<a href = url onmouseover = while (1) {window.close ('/')}> oder <a Herf = url onmousever = while (ture) {window.close ('/')}> Dann kannst du andere machen Dinge, die der Browser des Kunden, der die Nachricht ansah, starb an der toten Schleife. Programme, die von ASP entwickelt wurden, haben möglicherweise auch dieses Problem. Wenn Sie also ähnliche Programme in ASP schreiben, sollten Sie solche Operationen vorsichtig sein, z. B. ein Programm, um die Eingabe des Kunden zu beurteilen und alle HTML- und JavaScript -Anweisungen zu blockieren.
Nachdem Sie dieses Problem gelesen haben, müssen Sie, wenn Sie sehr schockiert sind, Ihre vorhandene Website oder Ihr ASP -Programm gründlich überprüfen, um festzustellen, ob es eine der oben genannten Schwachstellen gibt. Wenn Sie die in dem Artikel genannten Schwachstellen verstehen und ausreichend Gegenmaßnahmen haben, sollten Sie Ihre Website häufig überprüfen, wenn Sie eine Datenbank haben Angriff mit einigen Schwachstellen, die wir nicht kennen. Wenn Sie schließlich einzigartige Einblicke in die in diesem Artikel diskutierten ASP -Sicherheitsprobleme haben oder neue Entdeckungen über Schwachstellen haben, hoffe ich, mir zu schreiben, um es zu diskutieren