知识大全 ASP数据库被挂马的编程处理方法
Posted 数据库
篇首语:欲穷千里目,更上一层楼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP数据库被挂马的编程处理方法相关的知识,希望对你有一定的参考价值。
ASP数据库被挂马的编程处理方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
数据库被挂马我相信很多人都碰到过 在这里 我讲下我处理的方法
第一步 为现有数据库做好备份
第二步 执行如下ASP文件 这样就可以去掉数据库当中的JS木马
注 conn asp自己去写了
这里放入JS木马内容 请记得改为自己数据库中的JS木马内容
<! #include file="conn asp" >
<%
Server ScriptTimeOut= Set rstSchema = conn OpenSchema( )
k=
Do Until rstSchema EOF 遍历数据库表
If rstSchema("TABLE_TYPE")="TABLE" Then
response write K&" <font color=red><b>"&rstSchema("TABLE_NAME") & "</b></font>:" 显示表名Set rs=Server CreateObject("ADODB Recordset")
sql="select * from [" & rstSchema("TABLE_NAME")&"]"
rs open sql conn For i= to rs fields count 遍历表中字段If int(rs(i) Type)= or int(rs(i) Type)= or int(rs(i) Type)= or int(rs(i) Type)= or int(rs(i) Type)= or int(rs(i) Type)= Then 只处理字段类型为字符型的字段
conn execute("update ["&rstSchema("TABLE_NAME")&"] set "&rs(i) name&" =replace(cast("&rs(i) name&" as varchar( )) 这里放入JS木马内容 )") response write rs(i) name &" "&rs(i) Type &" " 显示执行过的字段名
End If
Next
response write "<br>"
End If
rstSchema MoveNext
k=k+
Loop
response Write "执行成功"
%>
如果数据库表很多的话 上面的遍历数据库结构未执行完就被IIS给停止了 在这时候可以在
If rstSchema("TABLE_TYPE")="TABLE" Then
当中适当加入k值的范围 如
If rstSchema("TABLE_TYPE")="TABLE" k> and k< Then
这样的话就一次只操作 个表
第三步
根据数据库JS注入的特性(会包括<script </script>和//这样的字符) 在conn asp里面放入如下代码
Function Cheack_Sqljs() 防止数据库外链JS注入:true为发现外链JS注入
Dim F_Post F_Get
Cheack_Sqljs=False
If Request Form<>"" Then 表单提交时的检测For Each F_Post In Request Form If (Instr(LCase(Request Form(F_Post)) "<script")<> or Instr(LCase(Request Form(F_Post)) "</script>")<> ) and Instr(LCase(Request Form(F_Post)) "//")<> Then
Cheack_Sqljs=True
Exit For
End If
Next
End If
If Request QueryString<>"" Then QueryString提交时的检测For Each F_Get In Request QueryString If (Instr(LCase(Request Form(F_Get)) "<script")<> or Instr(LCase(Request Form(F_Get)) "</script>")<> ) and Instr(LCase(Request Form(F_Get)) "//")<> Then
Cheack_Sqljs=True
Exit For
End If
Next
End If
End Function
Function CheckDataFrom() 检查提交数据来源 True为数据从站外提交过来的
CheckDataFrom=True
server_v =Cstr(Request ServerVariables("HTTP_REFERER")) server_v =Cstr(Request ServerVariables("SERVER_NAME")) if mid(server_v len(server_v ))<>server_v then
CheckDataFrom=False
end if
End Function
If Cheack_Sqljs or CheckDataFrom Then
Response Write "<Script Language=JavaScript>alert( 禁止执行 非法操作 );</Script>" Response End()
End If
cha138/Article/program/net/201311/14256相关参考
讲解SQLServer数据库被挂马的解决方案 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 案例
ASP.NET数据库编程之处理文件访问许可 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一个MDB
了解ASP.NET中的IFRAME框架挂马 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安全工
ASP.NET数据库编程入门 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 因为Access并不
一SqlDataRead和Dataset的选择 Sqldataread优点读取数据非常快如果对返回的数据不需做大量处理的情况下建议使用SqlDataReader其性能要比datset好很多缺点直
ASP.NET数据库编程快速入门之技术慨述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 大约有
一套原来在Access上开发的桌面系统网页调阅使用ASP编程数据维护系统使C++Builder编程由于Access是一个桌面的共享型数据库所以在通用性和网络开发方面都存在一些问题因此需要将该系统移
ASP.NET2.0高级数据处理之数据绑定 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在前面的模
ASP.NET2.0高级数据处理之主从数据表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在前面的
ASP.NET2.0高级数据处理之处理控件事件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在前面