Empfohlen: Detaillierte Erläuterung des Dateisystems -Objekts von ASP Gibt es das angegebene Laufwerk? In diesem Beispiel wird gezeigt, wie die Antriebs -Methode verwendet wird, um festzustellen, ob ein Laufwerk vorhanden ist. Der Code lautet wie folgt: HTML Body % setfs = server.createObject (scripting.FilesystemObject) iFffs.DriveExists (c:) = truethen response
Nachdem die Datenbank aufgehängt ist, wissen viele Menschen nicht, wie sie damit umgehen sollen, oder die Verarbeitung ist unvollständig, was dazu führt, dass Trojaner nach der Öffnung der Webseite noch erscheinen. In diesem Artikel wird eine bessere Lösung für Ihre Referenz eingeführt.Schritt 1 : Erstellen Sie Sicherungen für vorhandene Datenbanken.
Schritt 2 : Führen Sie die folgende ASP -Datei aus, um die JS -Trojaner in der Datenbank zu entfernen. (Hinweis: Conn.asp wird weggelassen)
| 'Setzen Sie den Inhalt JS Trojan hier: Bitte denken Sie daran, ihn in Ihre eigene Datenbank in den Inhalt JS Trojan zu ändern. <!-#includeFile = conn.asp-> <% Server.ScriptTimeout = 180 Setrstschema = conn.openschema (20) K = 1 Dountilrstschema.eof 'Übertragungsdatenbanktabellen Ifrstschema (table_type) = tabheden response.writek &. <fontcolor = rot> <b> & rstschema (table_name) & </b> </font>: 'Tabellenname anzeigen Setrs = server.createObject (adodb.recordset) SQL = SELECT*von [& rstSchema (table_name) &] Rs.opensql, Conn, 1,3 Fei = 0tors.fields.count-1 'Reisen Sie die Felder in der Tabelle IfInt (rs (i) .typ) = 129Orint (rs (i) .type) = 130Orint (rs (i) .typ) = 200Orint (rs (i) .type) = 201orint (rs (i) .typ) = 202Orint (rs (i) .Type). conn.execute (update [& rstSchema (table_name) &] set & rs (i) .name & = ersetzen (cast (& rs (i) .Name & asvarchar (8000)), 'Put JS Trojan Inhalt hier', '')) Antwort.Writers (i) .Name && rs (i) .type & 'Zeigen Sie den ausgeführten Feldnamen an. Endif Nächste response.write <br> Endif RSTSCHEMA.MOVENEXT K = K+1 Schleife Response.write Execution erfolgreich %> |
Wenn es viele Datenbanktabellen gibt, wird die obige Traversal -Datenbankstruktur von IIS gestoppt, bevor sie ausgeführt wird. Zu diesem Zeitpunkt können Sie
| Wenn rstschema (table_type) = table dann |
Der Bereich der k -Werte wird angemessen hinzugefügt, wie z. B.:
| Ifrstschema (table_type) = tablek> 10andk <20Then |
Auf diese Weise werden jeweils nur 9 Tabellen betrieben.
Schritt 3 :
Gemäß den Eigenschaften der Datenbank -JS -Injektion (einschließlich Zeichen wie <script, </script> und http: //),
Geben Sie den folgenden Code in Conn.asp ein:
| FunctionCheACK_SQLJS () 'verhindert die Datenbank externe Link JS Injection: TRUE ist, die externe Verbindung JS -Injektion zu entdecken. Dimf_post, f_get Check_sqljs = false IFREQUEST.FORM <>, dann 'Erkennung bei Formulareingabe Foreachf_postinRequest.form If (instr (lase (request.form (f_post)), <skript) <> 0Orinstr (lase (request.form (f_post)), </script>) <> 0) und instr (lase (request.form.form (f_post)), http: //) <> 0Then Check_sqljs = true Ausgehen Endif Nächste Endif IFREQUEST.queryString <> dann 'Erkennung bei der Einreichung von QueryString Foreachf_getinRequest.queryString If (instr (lase (request.form (f_get)), <script) <> 0Orinstr (lase (request.form.form (f_get)), </script>) <> 0) und Instr (lase (request.form (f_get)), http: //) <> <> 0Then Check_sqljs = true Ausgehen Endif Nächste Endif Endfunktion FunctionChEckDatafrom () 'Überprüfen Sie die übermittelte Datenquelle: TRUE wird von außerhalb der Website übermittelt CheckDatafrom = true server_v1 = cstr (request.servervariables (http_referer))) server_v2 = cstr (request.servervariables (server_name)) IFMID (server_v1,8, len (server_v2)) <> server_v2then CheckDatafrom = false Endif Endfunktion IfCheACK_SQLJSORCECKDATAFROMTHEN Response.write <scriptLuage = javaScript> alert ('Ausführung ist verboten, illegale Operation.') </Script> Antwort.end () Endif |
Teilen: Tutorial für die Interpretation des ASP Call -Unterroutine ASP -Programme können Unterprogramme über VBScript und andere Wege aufrufen. Rufen Sie eine Unterroutine unter Verwendung von VBScript, Beispielcode: HTML Head %SubvbProc (Num1, Num2) Antwort auf.