Ketika kami menggunakan ASP untuk terhubung ke database untuk mengembangkan aplikasi, kami dapat menemukan situasi di mana database ASP digantung dengan Trojan akan membantu Anda.
Dalam artikel ini, kami memperkenalkan metode pemrograman dari solusi terperinci dari Trojan yang digantung oleh database ASP.
Langkah Pertama:
Buat cadangan untuk database yang ada.
Langkah 2:
Jalankan file ASP berikut, sehingga JS Trojans dalam database dapat dihapus:
Catatan: Saya menulisnya sendiri.
'Letakkan konten JS Trojan di sini: Harap ingat untuk mengubahnya ke konten JS Trojan di database Anda sendiri.
- <!-#includeFile = conn.asp->
- <%
- Server.ScriptTimeout = 180SetRSTSCHEMA = Conn.openschema (20)
- k = 1
- Dountilrstschema.eof 'Traversal Tabel Database
- IFRSTSCHEMA (TABLE_TYPE) = Tabethen
- response.writeK &. <fontColor = red> <b> & rstschema (table_name) & </b> </font>: 'Tampilkan nama tabel setrs = server.createObject (adodb.recordset)
- sql = pilih*dari [& rstschema (table_name) &]
- rs.opensql, conn, 1,3fori = 0tors.fields.count-1'Transfer Field ifint (rs (i) .type) = 129
- orint (rs (i) .type) = 130orint (rs (i) .type) = 200orint (rs (i) .type) = 201orint (rs (i) .type) = 202orint (rs (i) .type) = 203then 'Only Processing Fields dengan tipe Karakter Jenis Bidang
- conn.execute (perbarui [& rstschema (table_name) &] set & rs (i) .name & = ganti (cast (& rs (i) .name &
- Asvarchar (8000)), 'Letakkan konten JS Trojan di sini', '')) respons.Writers (i) .name && rs (i) .type & 'Menampilkan nama bidang yang dieksekusi.
- Endif
- Berikutnya
- Response.write <br>
- Endif
- rstschema.movenext
- kk = k+1
- Lingkaran
- Response.write Eksekusi berhasil
- %>
Jika ada banyak tabel database, struktur basis data traversal di atas akan dihentikan oleh IIS sebelum dieksekusi. Saat ini Anda bisa:
Jika rstschema (table_type) = tabel lalu
Kisaran nilai k ditambahkan dengan tepat, seperti:
Jika RSTSCHEMA (TABLE_TYPE) = Tabel K> 10 dan K <20 Lalu
Dengan cara ini, hanya 9 tabel yang dioperasikan sekaligus.
Langkah 3:
Menurut karakteristik injeksi JS database (yang akan mencakup karakter seperti http: //), letakkan kode berikut di Conn.asp:
- FunctionCheCK_SQLJS () 'Mencegah link eksternal basis data injeksi JS: true adalah menemukan tautan eksternal injeksi JS.
- DIMF_POST, F_GET
- Check_sqljs = false
- IfRequest.Form <> lalu 'Deteksi foreachf_postinrequest.formif (instruct (lcase (request.form (f_post)),
- <skrip) <> 0orinstr (lcase (request.form (f_post)), </script>) <> 0)
- andinstr (lcase (request.form (f_post)), http: //) <> 0then
- Check_sqljs = true
- Keluar
- Endif
- Berikutnya
- Endif
- IfRequest.QueryString <> lalu Deteksi 'QueryString pada pengiriman foreachf_getinRequest.QueryString
- If (instruct (lcase (request.form (f_get)), <skrip) <> 0orinstr (lcase (request.Form (f_get)), </cript>) <> 0)
- andinstr (lcase (request.form (f_get)), http: //) <> 0then
- Check_sqljs = true
- Keluar
- Endif
- Berikutnya
- Endif
- Fungsi endfungsi
- FunctionCheckDataFrom () 'Periksa data yang dikirimkan data: true diserahkan untuk data dari luar situs
- CheckDataFrom = true
- server_v1 = cstr (request.serverVariable (http_referer)) server_v2 = cstr (request.serverVariables (server_name)))
- IFMID (server_v1,8, len (server_v2)) <> server_v2then
- CheckDataFrom = false
- endif
- Fungsi endfungsi
- IFCheACK_SQLJSORCHECKDATAFROMTHEN
- Response.write <scriptLanguage = javaScript> alert ('eksekusi dilarang, operasi ilegal.'); </script> response.end ()
- Endif
Ini semua tentang metode pemrograman ketika database ASP digantung dengan Trojan.