网站数据库被SQL注入后应该怎么办
来源:互联网 发布:复制淘宝宝贝的软件 编辑:程序博客网 时间:2024/04/28 12:08
之前过了一个网站,由于没有对页面参数进行验证,挂上去没多长时间就被人挂马了,数据库的每个表每个字段内容里都被注入了一段代码,什么在数据库中还新建了自己的表,真是太嚣张了,但是这么多内容是不可能手动去删除的,解决过程如下
一、首先删除数据库被注入的代码
如统一删除<script src=http://3b3.org/c.js> </script> (此适用于sql server)
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
+N' set '+ QUOTENAME(c.name) + N' = replace(CAST(' + QUOTENAME(c.name) + ' as varchar(8000)),''<script src=http://3b3.org/c.js></script>'','''')'
FROM sysobjects o,syscolumns c,systypes t
WHERE o.id=c.id
AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
AND c.xusertype=t.xusertype
AND (t.name='varchar' or t.name='ntext')
EXEC sp_MSforeach_Worker @command1=N'?'
注意这样删除之后 ntext字段将被截断成8000个字符 导致数据丢失,当然其实在sql注入之前这种字段属性已经被截断了,所以在删除这些之后还要进行数据恢复但是 网站被挂马往往是随机的不知道什么时候 我们可能没有做及时的备份,无法恢复
这时候我们可以考虑从数据库日志进行恢复
1,如果误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进
进行一次日志备份(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那你就死翘了)
backup log dbName to disk='fileName'
2,恢复一个全库备份,注意需要使用with norecovery,如果还有其他差异或增量备份,则逐个恢
复
restore database dbName from disk='fileName' with norecovery
3,恢复最后一个日志备份即刚做的日志备份,指定恢复时间点到误操作之前的时刻
restore log dbName from disk='fileName'
with stopat='date_time'
最后就是把网站的漏洞补上 对参数进行过滤
- 网站数据库被SQL注入后应该怎么办
- 网站被黑之后应该怎么办
- asp 网站被 sql 注入后的处理办法。
- 被SQL注入后
- ASP网站数据库被挂木马怎么办
- 使用SQLMAP对网站和数据库进行SQL注入攻击
- 堵死网站被SQL注入的隐患
- 网站被SQL注入防范(WebKnight)
- 网站防止SQL注入
- 网站安全,SQL注入
- 简单网站sql注入
- 每当网站被攻击程序被人更改了以后你应该怎么办
- 数据库被批量注入解决办法(SQL语句)
- 杜绝数据库SQL注入
- SQL注入eWebEditor数据库
- 数据库防sql注入
- 【数据库】SQL注入攻击
- SQL数据库空间不足怎么办
- 关于线程、进程、用户态、内核态的不严谨体会
- 学习vc制作界面
- 2009年暑假小试牛刀(一)
- 一个delphi程序员的开发习惯
- linux top命令详解(转)
- 网站数据库被SQL注入后应该怎么办
- Flex 下的Repeater嵌套
- Todays New Laser Cutters For Small Shops
- ORA-03113
- 关于URI is hierarchical错误的解决方案
- String与int float double 类型之间的转换
- 图片盗链
- DOM4J中文路径问题
- DOM4J中文路径问题