Wenn wir ASP verwenden, um Anwendungen zu entwickeln, können wir in diesem Artikel die ASP -Datenbank mit einem Trojaner begegnen wird für Sie hilfreich sein.
In diesem Artikel stellen wir die Programmiermethode der detaillierten Lösung des von ASP aufgehängten Trojaner in den folgenden drei Schritten vor:
Erster Schritt:
Erstellen Sie Sicherungen für vorhandene Datenbanken.
Schritt 2:
Führen Sie die folgende ASP -Datei aus, damit die JS -Trojaner in der Datenbank entfernt werden können:
Hinweis: Ich habe es selbst geschrieben.
'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 = 180Setrstschema = conn.openschema (20)
- K = 1
- DountilrstSchema.eof 'Traversal von Datenbanktabellen
- Ifrstschema (table_type) = tabheden
- response.writek &. <fontcolor = rot> <b> & rstschema (table_name) & </b> </font>: 'table name setrs = server.createObject (adodb.Recordset)
- SQL = SELECT*von [& rstSchema (table_name) &]
- rs.opensql, conn, 1,3fori = 0tors.fields.Count-1'Transfer Field ifInt (Rs (i) .Typ) = 129
- orint (rs (i) .typ) = 130Orint (rs (i) .type) = 200Orint (rs (i) .typ) = 201orint (rs (i) .type) = 202Orint (Rs (i) .typ) = 203Then 'einzige Verarbeitungsfelder mit Feldtypzeichentyp
- conn.execute (update [& rstSchema (table_name) &] set & rs (i) .name & = ersetzen (cast (& rs (i) .Name &
- Asvarchar (8000)), 'Put JS Trojan Inhalt hier', '') Antwort.
- Endif
- Nächste
- response.write <br>
- Endif
- RSTSCHEMA.MOVENEXT
- KK = 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.:
Wenn rstschema (table_type) = Tabelle k> 10 und k <20, dann dann
Auf diese Weise werden jeweils nur 9 Tabellen betrieben.
Schritt 3:
Nach den Merkmalen der Datenbank -JS -Injektion (die Zeichen wie http: // enthält) 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 von foreachf_postinRequest.formif (Instration (lase (request.form.form (f_post)),
- <skript) <> 0Orinstr (lase (request.form (f_post)), </script>) <> 0)
- andinstr (lase (request.form (f_post)), http: //) <> 0Then
- Check_sqljs = true
- Ausgehen
- Endif
- Nächste
- Endif
- IFREQUEST.queryString <> Then'QueryString -Erkennung zur Einreichung für Eachf_getInrequest.queryString
- If (instr (lase (request.form.form)), <skript) <> 0Orinstr (lase (request.form (f_get)), </script>) <> 0)
- andinstr (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 für Daten 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> response.end ()
- Endif
Hier geht es um die Programmiermethode, wenn die ASP -Datenbank mit einem Trojaner aufgehängt ist.