呵呵, 像SQL注入 http请求不外乎 get 和 post,所以只要在文件中过滤所有post或者get请求中的参数信息中 非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到sql注入攻击。 在一个就是正则匹配。
数据库被注入攻击 所有文本型字下段数据都被加了 <script_src=http://ucmal.com/0.js> </script> 怎么删掉? DECLARE @fieldtype sysname SET @fieldtype='varchar'--删除处理 DECLARE hCForEach CURSOR GLOBAL FOR SELECT N'update '+QUOTENAME(o.name) +N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''<script_src=http://ucmal.com/0.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=@fieldtype EXEC sp_MSforeach_Worker @command1=N'?'
自己给网站上传一个webshell, 自己查看~
被sql注入了,或者服务器被人攻击了
把所有的sql语句参数化一下吧,或者是把sql语句写的严格一下,比如:如果传个ID那就string.format("select * from table where id='{0}' and usercode='{1}'",ID,UserCode)
呵呵,
像SQL注入
http请求不外乎 get 和 post,所以只要在文件中过滤所有post或者get请求中的参数信息中
非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到sql注入攻击。
在一个就是正则匹配。
怎么删掉?
DECLARE @fieldtype sysname
SET @fieldtype='varchar'--删除处理
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
+N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''<script_src=http://ucmal.com/0.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=@fieldtype
EXEC sp_MSforeach_Worker @command1=N'?'
JS注入
扫描网站工具可使用AccessDiver、JSky等
检查文件的pe格式是否正确。
用16进制编辑器打开图片