热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysql批量删除挂马_批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码

有时候网站sqlserver数据库被挂马了,网上的很多软件与方法都是针对text小于8000的,这里的方法貌似可行,需要的朋友可以参考下。

有时候网站sqlserver数据库被挂马了,网上的很多软件与方法都是针对text小于8000的,这里的方法貌似可行,需要的朋友可以参考下。

首先备份数据库,以防不必要的损失。而后对所有被挂马的小于8000字符的varchar字段执行

代码如下:

update 表名 set 字段名=replace(字段名,'','')

其中为挂马字段。执行后挂马字段被清除。但是有部分字段,比如内容字段等大于8000字符的varchar字段则需要执行

代码如下:

update 表名 set 表项=replace(cast(表项 as varchar(8000)),' ','')

来更新被挂马字段,而房产网由于内容比较多,执行以上语句的时候会发生假死现象,于是加个区间分两次进行,一次处理15000条得以解决。

代码如下:

update 表名 set 表项&#61;replace(cast(表项 as varchar(8000)),&#39; &#39;,&#39;&#39;) where id>1 and id<15000

以上被挂马问题一般都是sql数据库&#xff0c;这是sql数据库特有的注入漏洞。换数据库不现实&#xff0c;只能针对以上情况进行防范。思路就是在所有数据库链接请求那里做相应的过滤。

代码如下:

Response.Buffer &#61; True &#39;缓存页面

&#39;防范get注入

If Request.QueryString <> "" Then StopInjection(Request.QueryString)

&#39;防范post注入

If Request.Form <> "" Then StopInjection(Request.Form)

&#39;防范COOKIEs注入

If Request.COOKIEs <> "" Then StopInjection(Request.COOKIEs)

&#39;正则子函数

Function StopInjection(Values)

Dim regEx

Set regEx &#61; New RegExp

regEx.IgnoreCase &#61; True

regEx.Global &#61; True

regEx.Pattern &#61; "&#39;|;|#|([\s\b&#43;()]&#43;([email&#61;select%7Cupdate%7Cinsert%7Cdelete%7Cdeclare%7C&#64;%7Cexec%7Cdbcc%7Calter%7Cdrop%7Ccreate%7Cbackup%7Cif%7Celse%7Cend%7Cand%7Cor%7Cadd%7Cset%7Copen%7Cclose%7Cuse%7Cbegin%7Cretun%7Cas%7Cgo%7Cexists)[/s/b]select|update|insert|delete|declare|&#64;|exec|dbcc|alter|drop|create|backup|if|else|end|and|or|add|set|open|close|use|begin|retun|as|go|exists)[\s\b[/email]&#43;]*)"

Dim sItem, sValue

For Each sItem In Values

sValue &#61; Values(sItem)

If regEx.Test(sValue) Then

Response.Write ""

Response.End

End If

Next

Set regEx &#61; Nothing

End function

%>

做一个通用的sql防注入页面&#xff0c;把它包含在conn.asp数据库连接语句里边&#xff0c;这样就实现了全站的防范 sql 注入的攻击了。但是前台的类似&#xff1f;id&#61;这样的语句还是存在注入漏洞&#xff0c;需要我们严格过滤 request.form 和 request.querystring 获取的内容。坚决不用 request("name") 这样的方式获取值&#xff0c;凡是采用 COOKIEs 保存的内容&#xff0c;尽量不要用在sql语句里进行查询数据库操作。

如果不熟悉sqlserver的朋友可以用软件来实现

本文原创发布php中文网&#xff0c;转载请注明出处&#xff0c;感谢您的尊重&#xff01;



推荐阅读
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 深入解析Dubbo:使用与源码分析
    本文详细介绍了Dubbo的使用方法和源码分析,涵盖其架构设计、核心特性和调用流程。 ... [详细]
  • web页面报表js下载,web报表软件 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 本文详细探讨了如何在PHP中有效防止SQL注入攻击,特别是在使用MySQL数据库时。文章通过具体示例和专业建议,帮助开发者理解和应用最佳实践。 ... [详细]
  • 申请地址:https://developer.apple.com/appstore/contact/?topic=expedite 常见申请理由:1. 我们即将发布新产品,这是一个媒体活动,我们无法承担任何风险,因此在多个方面努力提升应用质量。 ... [详细]
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom&amp;quot;echarts&amp;quot;;4、如果用到map(地图),还 ... [详细]
  • 我在使用 AngularJS 的路由功能开发单页应用 (SPA),但需要支持 IE7(包括 IE8 的 IE7 兼容模式)。我希望浏览器的历史记录功能能够正常工作,即使需要使用 jQuery 插件。 ... [详细]
author-avatar
蓝蓝__的夜夜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有