主頁 > 知識(shí)庫 > 批量替換sqlserver數(shù)據(jù)庫掛馬字段并防范sql注入攻擊的代碼

批量替換sqlserver數(shù)據(jù)庫掛馬字段并防范sql注入攻擊的代碼

熱門標(biāo)簽:貴州房產(chǎn)智能外呼系統(tǒng)供應(yīng)商 外呼運(yùn)營商線路收費(fèi) 一個(gè)導(dǎo)航軟件能用幾個(gè)地圖標(biāo)注點(diǎn) 百度地圖標(biāo)注改顏色 小e電話機(jī)器人 電銷外呼有錄音系統(tǒng)有哪些 臨沂智能電銷機(jī)器人加盟哪家好 申請(qǐng)400電話在哪辦理流程 鎮(zhèn)江網(wǎng)路外呼系統(tǒng)供應(yīng)商

首先備份數(shù)據(jù)庫,以防不必要的損失。而后對(duì)所有被掛馬的小于8000字符的varchar字段執(zhí)行

復(fù)制代碼 代碼如下:

update 表名 set 字段名=replace(字段名,'Script Src=http://c.n%75clear3.com/css/c.js>/Script>','')

其中Script Src=http://c.n%75clear3.com/css/c.js>/Script>為掛馬字段。執(zhí)行后掛馬字段被清除。但是有部分字段,比如內(nèi)容字段等大于8000字符的varchar字段則需要執(zhí)行
復(fù)制代碼 代碼如下:

update 表名 set 表項(xiàng)=replace(cast(表項(xiàng) as varchar(8000)),'Script Src=http:/c.nuclear3.com/css/c.js> /Script> ','')

來更新被掛馬字段,而房產(chǎn)網(wǎng)由于內(nèi)容比較多,執(zhí)行以上語句的時(shí)候會(huì)發(fā)生假死現(xiàn)象,于是加個(gè)區(qū)間分兩次進(jìn)行,一次處理15000條得以解決。
復(fù)制代碼 代碼如下:

update 表名 set 表項(xiàng)=replace(cast(表項(xiàng) as varchar(8000)),'Script Src=http:/c.nuclear3.com/css/c.js> /Script> ','') where id>1 and id15000

以上被掛馬問題一般都是sql數(shù)據(jù)庫,這是sql數(shù)據(jù)庫特有的注入漏洞。換數(shù)據(jù)庫不現(xiàn)實(shí),只能針對(duì)以上情況進(jìn)行防范。思路就是在所有數(shù)據(jù)庫鏈接請(qǐng)求那里做相應(yīng)的過濾。
復(fù)制代碼 代碼如下:

%
Response.Buffer = True '緩存頁面
'防范get注入
If Request.QueryString > "" Then StopInjection(Request.QueryString)
'防范post注入
If Request.Form > "" Then StopInjection(Request.Form)
'防范cookies注入
If Request.Cookies > "" Then StopInjection(Request.Cookies)
'正則子函數(shù)
Function StopInjection(Values)
Dim regEx
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = "'|;|#|([\s\b+()]+([email=select%7Cupdate%7Cinsert%7Cdelete%7Cdeclare%7C@%7Cexec%7Cdbcc%7Calter%7Cdrop%7Ccreate%7Cbackup%7Cif%7Celse%7Cend%7Cand%7Cor%7Cadd%7Cset%7Copen%7Cclose%7Cuse%7Cbegin%7Cretun%7Cas%7Cgo%7Cexists)[/s/b]select|update|insert|delete|declare|@|exec|dbcc|alter|drop|create|backup|if|else|end|and|or|add|set|open|close|use|begin|retun|as|go|exists)[\s\b[/email]+]*)"
Dim sItem, sValue
For Each sItem In Values
sValue = Values(sItem)
If regEx.Test(sValue) Then
Response.Write "Script Language=javascript>alert('非法注入!你的行為已被記錄!!');history.back(-1);/Script>"
Response.End
End If
Next
Set regEx = Nothing
End function
%>

做一個(gè)通用的sql防注入頁面,把它包含在conn.asp數(shù)據(jù)庫連接語句里邊,這樣就實(shí)現(xiàn)了全站的防范 sql 注入的攻擊了。但是前臺(tái)的類似?id=這樣的語句還是存在注入漏洞,需要我們嚴(yán)格過濾 request.form 和 request.querystring 獲取的內(nèi)容。堅(jiān)決不用 request("name") 這樣的方式獲取值,凡是采用 cookies 保存的內(nèi)容,盡量不要用在sql語句里進(jìn)行查詢數(shù)據(jù)庫操作。

如果不熟悉sqlserver的朋友可以用軟件來實(shí)現(xiàn)
sqlserver 數(shù)據(jù)庫批量替換工具(數(shù)據(jù)庫及文本文件查找替換) v1.0中文綠色版

SQLServer 數(shù)據(jù)庫批量查找替換工具1.2 SQL木馬清除助手

您可能感興趣的文章:
  • sqlserver 批量數(shù)據(jù)替換助手V1.0版發(fā)布
  • SqlServer中批量替換被插入的木馬記錄
  • sqlserver replace函數(shù) 批量替換數(shù)據(jù)庫中指定字段內(nèi)指定字符串參考方法
  • sqlserver 中ntext字段的批量替換(updatetext的用法)
  • SQL Server中對(duì)數(shù)據(jù)截取替換的方法詳解

標(biāo)簽:嘉興 延邊 保定 澳門 合肥 日照 晉城 三明

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《批量替換sqlserver數(shù)據(jù)庫掛馬字段并防范sql注入攻擊的代碼》,本文關(guān)鍵詞  批量,替換,sqlserver,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《批量替換sqlserver數(shù)據(jù)庫掛馬字段并防范sql注入攻擊的代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于批量替換sqlserver數(shù)據(jù)庫掛馬字段并防范sql注入攻擊的代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章