删除sql注入
三种方法:第一种针对单个表 第二种针对单个表字段太多的情况(print输出有字数限制) 第三种针对于单个库(最强模式可直接将库中所有表的所有字符串类型字段全部更新)
第一种:直接导出sql语句
declare @curTable varchar(500),
@FilterStr varchar(500);--过滤字符串 字符串及之后的数据将被替换为空
set @FilterStr='</title><style>.alx2{';
set @curTable='users_log_table';
DECLARE
@SQLList varchar(8000),
@tableName VARCHAR(1000),
@name VARCHAR(1000),
@type VARCHAR(1000);
set @SQLList='';
BEGIN
-- 定义游标.
DECLARE c_test_main CURSOR FAST_FORWARD FOR
-- select [dbid],[name] from sysdatabases where dbid>4;--查询数据库名称
select b.name as tableName,a.name as columnName,c.name as columnType from syscolumns a inner join sysobjects b on a.id=b.id inner join systypes c on a.xtype=c.xtype WHERE a.id=OBJECT_ID(N'['+@curTable+']') And c.name not like 'sysname' ORDER BY colid -- 打开游标.
OPEN c_test_main; WHILE 1=1
BEGIN
-- 填充数据.
FETCH NEXT FROM c_test_main INTO @tableName,@name,@type;
-- 假如未检索到数据,退出循环.
IF @@fetch_status!= 0 BREAK; if @type='varchar' or @type='nvarchar'
begin
--select @tableName,@name,@type;
set @SQLList=@SQLList+';update ['+@tableName+'] set ['+@name+']=replace(['+@name+'],isnull(substring(['+@name+'], case charindex('''+@FilterStr+''',['+@name+']) when 0 then len(['+@name+'])+1 else charindex('''+@FilterStr+''',['+@name+']) end ,len(['+@name+'])),''''),''''); '+(char(10)+char(13));
end
else if @type='ntext' or @type='text'
begin
set @SQLList=@SQLList+';update ['+@tableName+'] set ['+@name+']=cast(replace(cast(['+@name+'] as varchar(8000)), isnull(substring(cast(['+@name+'] as varchar(8000)),case charindex('''+@FilterStr+''',cast(['+@name+'] as varchar(8000))) when 0 then len(cast(['+@name+'] as varchar(8000)))+1 else charindex('''+@FilterStr+''',cast(['+@name+'] as varchar(8000))) end,len(cast(['+@name+'] as varchar(8000)))),''''),'''') as ntext ); '+(char(10)+char(13));
end
END; -- 关闭游标
CLOSE c_test_main;
-- 释放游标.
DEALLOCATE c_test_main;
END
print @SQLList;
删除sql注入的更多相关文章
- 删除SQL注入的一些方法总结
sql替换法: ); set @myStr='oa_20121026new.bak</title><style>.alx2{position:absolute;clip:rec ...
- SQL中批量删除被注入的恶意代码的方法
下文将为您介绍SQL中批量删除被注入的恶意代码的方法,供您参考,如果您也遇到了这样的问题,不妨一看,相信对您会有所帮助. 1,如果你的数据表很少的话,那么写几条简单的sql就搞定了 对于表中的nvch ...
- [代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell
0X00 总体简介 云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次 ...
- Youke365_2_4 一处Sql注入漏洞以及一处任意文件删除
本文作者:X_Al3r Prat 0 自白 每一天都是新的一天.没啥吐槽的,步入正题 /system/category.php 文件一处Sql注入## 80-87行代码 $root_i ...
- PHP:网展cms后台任意文件删除和sql注入
0x01:目录结构 可以发现Frameword是框架的文件 install安装 public公共文件 uploads储存上传之类的文件 webuser后台文件 Home前台文件 0x02.csrf漏洞 ...
- 深入理解SQL注入绕过WAF和过滤机制
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...
- Entity Framework关于SQL注入安全问题
1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL 参考: https: ...
- 防止sql注入和sqlmap介绍
sql注入问题从WEB诞生到现在也一直没停过,各种大小公司都出现过sql注入问题,导致被拖库,然后存在社工库撞库等一系列影响. 防止sql注入个人理解最主要的就一点,那就是变量全部参数化,能根本的解决 ...
- SQL注入攻防入门详解
=============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
随机推荐
- Java如何暂停线程一段时间?
在Java编程中,如何暂停线程一段时间? 以下示例显示如何通过创建sleepThread()方法来暂停线程一段时间. package com.yiibai; public class Suspendi ...
- JUnit规则
在本节中,我们学习和了解JUnit中叫做规则的新功能,它允许非常灵活在测试类重新定义每个测试方法的行为.为了这个目的,@Rule注解被使用来标出测试类的公共字段.这些字段类型为MethodRule,这 ...
- e856. 列出一个组件的所有事件
This example demonstrates how to list all the actions in a component. ActionMap map = component.getA ...
- e741. 将标签的焦点置于关联的文本框上面
This example associates a label with a text field using setLabelFor(). A mnemonic is set on the labe ...
- JavaScript数据去掉空值
js数组中过滤掉false, null, 0, "", undefined, and NaN值的方法 对于 false,null,0,undefiend,NaN直接取!得到的都是t ...
- 使用sphinx创建和查看文档
1. 安装pip $ sudo apt-get install python-pip 2. 安装全文本浏览器lynx $ sudo apt-get install lynx 3. 使用pip安装sph ...
- [原创]Allegro 导入DXF文件,保留布好的线路信息
最近智能钥匙产品开发过程中,由于结构装配尺寸的偏差,需要对电路PCB外框OUTLINE进行缩小调整,并且USB插座定位孔改变. Allegro软件在线性绘制方面是有严重缺陷的,想绘制一个异形的板框比较 ...
- utf8 ucs4
这个问题不好回答,首先UTF-8编码只不过是一种Unicode的转换,兼容ASCII.所以,UTF-8编码支持的最大字符编码应该是Unicode支持的最大字符编码. 理论上,UTF-8编码可以支持最大 ...
- Web4个实验题目DOM+JS
实验目的: 1. 掌握DOM对象的基本语法 2. 掌握getElementById函数 3. 掌握getElementsByTagName函数 来源http://www.cnblogs.com/xia ...
- python numpy 下载地址
网上找了半天,终于把要安装的资料找到了.其他的不怎么全,就自己再次总结一下写. 我自己安装的是python 2.7.所以以下的东东都是针对2.7的软件. numpy :http://s ...