恢复 SQL 被注入后的数据代码

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Inc/conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
server.ScriptTimeout = 1000000
'xtype=99 ntext 与text类型相似,不同的是,ntext类型采用unicode标准字符集。
'xtype=35 text 用于存储大量文本数据。
'xtype=231 nvarchar 用来定义可变长度的二进制数据,最大长度为4000个字符。
'xtype=167 varchar 存储最常可以达到8000个字符的变长的字符数据
str = "'<script src="http://e6t.3322.org/c.js" src="http://e6t.3322.org/c.js"></script>'" '加在文本类型字段后的木马代码
sql = "SELECT a.name as t_name,b.name as c_name, b.xtype FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)"
set rs = conn.execute(sql)
while Not rs.eof
t_name = rs("t_name") '表名
c_name = rs("c_name") '字段名
xtype = rs("xtype") '字段类型
If (xtype = 99 Or xtype = 35) then
conn.execute("update [" + t_name + "] set [" + c_name + "]=replace(cast([" + c_name + "] as varchar(8000)), " + str + ", '')")
Else
conn.execute("update [" + t_name + "] set [" + c_name + "]=replace([" + c_name + "], " + str + ", '')")
End If
rs.movenext
wend
response.Write("已经初步清理了挂马数据,请重新刷新页面试试看!")
%>

(0)

相关推荐

  • 恢复 SQL 被注入后的数据代码

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!--#include file="Inc/conn.asp"--> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <% server.ScriptTimeout = 1000000 'xtyp

  • 简单了解Mybatis如何实现SQL防注入

    这篇文章主要介绍了简单了解Mybatis如何实现SQL防注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Mybatis这个框架在日常开发中用的很多,比如面试中经常有一个问题:$和#的区别,它们的区别是使用#可以防止SQL注入,今天就来看一下它是如何实现SQL注入的. 什么是SQL注入 在讨论怎么实现之前,首先了解一下什么是SQL注入,我们有一个简单的查询操作:根据id查询一个用户信息.它的sql语句应该是这样:select * from u

  • asp.net(C#)防sql注入组件的实现代码

    在服务器安全栏目里我写过一篇<破解通用Sql防注入方法>的文章中说到,一些通用的防注入方法中没有对cookie数据进行过滤,会给黑客留下可乘之机.当然我的这段代码对提交过来的cookie数据也进行了过滤. 代码: 复制代码 代码如下: using System; using System.Configuration; using System.Web; using System.Globalization; namespace JNYW.StuM.SqlInject { public clas

  • asp连接SQL和Access数据代码(asp里的随机函数)

    asp连接sql 第一种写法: 复制代码 代码如下: MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;" Set conn = Server.Createobject("ADODB.Connection") conn.open MM_conn_STRING SET RS=SERVER.CreateObject("ADOBD.recordset&qu

  • 恢复sql server 2000误删数据的解决办法

    今天不小心把客户那边的数据库中删了一千多条数据,而且之前又没有备份,真的是很郁闷,后来在网上找到一工具,用起来挺方便,让我躲过一劫. 首先来看一下界面: 输入服务器地址,用户名及密码后点Connect,进入到下面的界面: 在这里选择要恢复数据的数据库,选择Use On-line Log(如果你又备份文件的话就不需要用这个工具了,直接用SQL搞定了).然后点Attach,进入下面的界面: 可以看到左边菜单中有很多功能,我们要恢复数据,首先要查看日志,找出我们误操作的那些日志记录,点Browse下的

  • 使用CSS和jQuery模拟select并附提交后取得数据的代码

    模拟select 并带有提交后取得数据的代码  HTML Code 复制代码 代码如下: <div id="dropdown"> <p>请选择城市</p> <ul> <li><a href="#" rel="2">北京</a></li> <li><a href="#" rel="3">上海

  • php SQL防注入代码集合

    SQL防注入代码一 复制代码 代码如下: <?php /** * 防sql注入 * @author: zhuyubing@gmail.com * */ /** * reject sql inject */ if (!function_exists (quote)) { function quote($var) { if (strlen($var)) { $var=!get_magic_quotes_gpc() ? $var : stripslashes($var); $var = str_rep

  • SQL 使用 VALUES 生成带数据的临时表实例代码详解

    VALUES 是 INSER 命令的子句. INSERT INOT 表名(列名1,列名2,-) VALUES(值1,值2,-) --语法: --SELECT * FROM ( --VALUES -- (1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) -- ,(1,2,3,......) --) AS t(c1,c2,c3......) SELECT * FROM (

  • Spring依赖注入多种类型数据的示例代码

    目录 Student实体类 StudentsClass实体类 beans.xml 测试 Student实体类 package entity; import java.util.*; /** * @author LeDao * @company * @create 2022-02-13 21:26 */ public class Student { private int id; private String name; private StudentClass studentClass; pri

  • php中addslashes函数与sql防注入

    本文实例讲述了php中addslashes函数与sql防注入.分享给大家供大家参考.具体分析如下: addslashes可会自动给单引号,双引号增加\\\\\\,这样我们就可以安全的把数据存入数据库中而不黑客利用,参数'a..z'界定所有大小写字母均被转义,代码如下: 复制代码 代码如下: echo addcslashes('foo[ ]','a..z'); //输出:foo[ ] $str="is your name o'reilly?"; //定义字符串,其中包括需要转义的字符 e

随机推荐