三种方法:第一种针对单个表 第二种针对单个表字段太多的情况(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注入的更多相关文章

  1. 删除SQL注入的一些方法总结

    sql替换法: ); set @myStr='oa_20121026new.bak</title><style>.alx2{position:absolute;clip:rec ...

  2. SQL中批量删除被注入的恶意代码的方法

    下文将为您介绍SQL中批量删除被注入的恶意代码的方法,供您参考,如果您也遇到了这样的问题,不妨一看,相信对您会有所帮助. 1,如果你的数据表很少的话,那么写几条简单的sql就搞定了 对于表中的nvch ...

  3. [代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell

    0X00 总体简介 云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次 ...

  4. Youke365_2_4 一处Sql注入漏洞以及一处任意文件删除

    本文作者:X_Al3r Prat 0 自白 每一天都是新的一天.没啥吐槽的,步入正题 /system/category.php 文件一处Sql注入## 80-87行代码         $root_i ...

  5. PHP:网展cms后台任意文件删除和sql注入

    0x01:目录结构 可以发现Frameword是框架的文件 install安装 public公共文件 uploads储存上传之类的文件 webuser后台文件 Home前台文件 0x02.csrf漏洞 ...

  6. 深入理解SQL注入绕过WAF和过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  7. Entity Framework关于SQL注入安全问题

    1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL   参考: https: ...

  8. 防止sql注入和sqlmap介绍

    sql注入问题从WEB诞生到现在也一直没停过,各种大小公司都出现过sql注入问题,导致被拖库,然后存在社工库撞库等一系列影响. 防止sql注入个人理解最主要的就一点,那就是变量全部参数化,能根本的解决 ...

  9. SQL注入攻防入门详解

    =============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...

随机推荐

  1. JDBC事务保存点(setSavepoint, releaseSavepoint )实例

    以下是使用事务教程中描述的setSavepoint和回滚的代码示例. 此示例代码是基于前面章节中完成的环境和数据库设置编写的. 复制并将以下示例代码保存到:JDBCSavepoint.java 中,编 ...

  2. MP3帧时长为26ms的来历

  3. (转)FFmpeg源代码简单分析:avformat_find_stream_info()

    目录(?)[+] ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结 ...

  4. Build opencv libraries for android arm, x86 ubuntu

    废话不多说. 准备工作: 1. 下载源代码: http://opencv.org/ 编译平台:ubuntu14.04 opencv 2.4.6.1 本人用这样的办法编译了opecv 2.4.9 的没有 ...

  5. interpro 数据库

    interpro 通过整合多个蛋白相关的数据库,提供了一个方便的对蛋白序列进行功能注释的平台,功能注释的内容包括蛋白质家族预测,domain 和 结合位点预测 interoro 在整合多个数据库的同时 ...

  6. 使用Spring.NET的IoC容器

    使用Spring.NET的IoC容器 0. 辅助类库 using System; using System.Collections.Generic; using System.Linq; using ...

  7. Launchpad图标大小怎么调整?

    一.首先运行“终端”程序,执行以下命令: 1.调整每一列显示图标数量,7 表示每一列显示7个 defaults write com.apple.dock springboard-rows -int 7 ...

  8. 基于PHP采集数据入库程序(二)

    在上篇基于PHP采集数据入库程序(一) 中提到采集新闻信息页的列表数据,接下来讲讲关于采集新闻具体内容 这是上篇博客的最终数据表截图: 接下来要做的操作就是从数据库中读取所需要采集的URL,进行页面抓 ...

  9. 【Ubuntu】全局代理

    配置代理,Ubuntu下是修改/etc/environment,在后面加入: http_proxy="http://****.com:8080/" https_proxy=&quo ...

  10. mint-ui loadmore组件注意问题

    loadTop(){ this.$store.dispatch('getNewsList',{channelId:this.id,page:0,size:this.size}); this.$refs ...