网站注入

最近看到很多人的网站都被注入js,被iframe之类的。非常多。

本人曾接手过一个比较大的网站,被人家入侵了,要我收拾残局。。

1.首先我会检查一下服务器配置,重新配置一次服务器安全,可以参考
 http://hi.baidu.com/zzxap/blog/item/18180000ff921516738b6564.html

2.其次,用麦咖啡自定义策略,即使网站程序有漏洞,别人也很难在文件上写入代码了。
 参考自定义策略,有了这个策略,再烂的程序,你也无法写入我的文件
 http://hi.baidu.com/zzxap/blog/item/efe093a7e0f2c190d04358ef.html

3.可以用网络超级巡警删除被注入的JS代码。
 参考
http://blog.csdn.net/zzxap/archive/2010/04/07/5459065.aspx
 
4.如何批量删除数据库中被注入的代码?
在数据库查询分析器运行这段代码即可
SQL code ?
1
2
3
4
5
6
7
8
9
10
11
12
13
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 '?'


5.创建一个触发器,只要有</script>就不给插入,对性能会有点影响

SQL code ?
1
2
3
4
5
6
7
8
9
10
11
12
13
create  trigger  tr_table_insertupdate
on  tablename
for  insert , update
as
if exists (
select  from  inserted 
where  data  like  '%</script>%'
)
begin
        RAISERROR ( '不能修改或者添加' ,16,1);
        ROLLBACK  TRANSACTION
end
go


6.最重要的还是程序的写法,用参数化SQL或存储过程
例如
C# code ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  protected  void  cmdok_Click( object  sender, EventArgs e)
     {
         //添加信息
         StringBuilder  sql =  new  StringBuilder(  " insert into m_phone ( pid,PhoneName,num,price,phonetype,onSellTime,color,weight,Video,Camera,phoneSize,phoneSystem,Memorysize,PhoneDesc,Standbytime,ScreenSize,Frequency,InputMethod,Soundrecord,gps,fm,mp3,email,Infrared,game,clock,Calendar,Calculator,Bluetooth)  " );
 
         sql.Append( " values (@pid,@TextPhoneName,@Textnum,@Textprice,@Dropphonetype2,@TextonSellTime,@Textcolor,@Textweight " );
         
         .................
 
         SqlParameter[] paras = {  new  SqlParameter( "@pid" , SqlDbType.Int, 4) ,
             new  SqlParameter( "@TextPhoneName" , SqlDbType.NVarChar, 50) , 
             new  SqlParameter( "@Textnum" , SqlDbType.Int, 4) ,
             new  SqlParameter( "@Textprice" , SqlDbType.Int, 4) ,
             new  SqlParameter( "@Dropphonetype2" , SqlDbType.VarChar, 20) ,
             new  SqlParameter( "@TextonSellTime" , SqlDbType.DateTime, 8) ,
             new  SqlParameter( "@Textcolor" , SqlDbType.VarChar, 20) ,
             new  SqlParameter( "@Textweight" , SqlDbType.NVarChar, 50) ,
 
            ...........
         };
         string [] stra = {Dropphonetype.SelectedValue,TextPhoneName.Text , Textnum.Text, Textprice.Text, Dropphonetype2.SelectedValue, TextonSellTime.Text, Textcolor.Text, Textweight.Text, 
             .............};
 
         int  a=stra.Length;
         int  j;
         
         for  ( j = 0; j < a; j++)
         {
             paras[j].Value = stra[j];
            
         }
         int  strpid = 0;
         string  sqla = sql.ToString();
         try
         {
             SqlHelper.ExcuteNonQurey(sqla, CommandType.Text, paras); //执行添加数据
            
             strpid = Convert.ToInt32(SqlHelper.ExcuteSclare(sqla, CommandType.Text, paras));   //获取刚才插入的id号
 
 
         }
         catch  (SqlException ex)
         {
             cmdreturn.Text = ex.Message.ToString();
 
         }
 
         cmdreturn.Text = strpid.ToString();
 
。。。。。。。。。


7.通过URL传递的参数要用加密解密
C# code ?
1
2
3
4
5
传输
string  szTmp =  "safdsfdsafdsfytrsd" ;
szTmp = Server.UrlEncode(szTmp); 
接收
STRING STRA=Server.UrlDecode(request.querystring(szTmp));


8.把要使用的参数处理一下单引号,再放到SQL里面  
  例如 string stra=aa.replace("'","''")

  用参数化SQL可以不用处理单引号
  指定参数类型和过滤掉单引号,就可以杜绝99.9%入侵了


另外说一句:网上那些被人奉如圣经的过滤 update insert  等关键字的程序是用处不大的   upupdatedate 过滤掉 update还是update
还会造成不必要的麻烦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Domain4.3(明小子)10.10.10更新版主要更新内容如下: 1.驱除部分死连接,恢复部分官方连接 2.改变默认显示页面为本人BLOG 3.修正程序在检测时出错的BUG 4.修正程序在部分系统中无法启动的BUG 5.加了一个功能模块,但还不成熟,隐藏了,高手的话可以用OD调出来!>!< 6.修复前段时间一些朋友反映的错误和程序宏 7.增加四款SKN皮肤! 10.10.11紧急更新: 1.修正新版程序在部分系统中启动后直接导致系统蓝屏的BUG 2.修正域名查询的几个错误 3.修正程序批量检测查询到域名的时候无反映的BUG! Domain4.2(明小子)10.01.16更新版主要更新内容如下: 1.删除所有无关数据 2.优化急速代码 3.改变启动线程 4.增加SQL数据批量导出功能 5.加入几个优化进程模块,非后门.后台运行. 6.锁定主程序栏目宽和高,不在恢复 7.删除“辅助工具”模块中全部代码 8.修正XP SP3 程序下兼容问题 9.重新改写域名查询旁站线程 程序于2018年01月16号调试完毕! 提别提示:第4个功能只能运行在完整版的windows XP 平台系统中,其他平台无法运行,如果出现恢复按钮并不能保存请自行调试与本程序无关.谢谢合作! 宝宝的话:有朋友们的鼓励才会有这个版本的发布,这当是我送给大家2010年里的第一个礼物吧。 Domain4.1(明小子)0901更新版主要更新内容如下: 1.增加新系统兼容模块,全面兼容2000-2008各系统 (部分精简版系统除外) 2.优化网站打开速度,删减部分无用内核信息,全面加快程序启动速度. 3.基于09.05.20号内核提升,改变搜查循环的一个死BUG! 4.删除在0520上增加的一个补针函数,并使用新的函数替换.保证不报错. 5.不在兼容xpsp3,因为没时间去修正这个错误。所以可能部分SP3系统运行不起来本程序 6.增加部分程序扩充空格代码,为下个版本更新做好铺垫 小提示:保留旧的IP反查连接系统,原因没有找到新的和稳定的IP反差服务器!如果有能提供的请与本人联系!谢谢合作 Domain4.1(明小子)0520更新版主要更新内容如下: 1.基于08.10.01号内核提升,修正一次关键错误。 2.替换原程序自带的那个小马,该为最新美化免杀版的小马! 3.添加一个服务器挂钩程序(非插件),使修改后的新内核兼容vista系统。 4.程序数据库默认名为:SetData.mdb 请大家使用3.5版本以上的MDB数据.其他低版本程序可能不兼容! 5.删除后台下载统计代码(以前没发现,本人也是从网站上面下的软件,排除作者自添加行为) 6.加了一个补针,针对sql注入功能中的一个小BUG。 7.删除了很多没有用的代码,最大限度的优化程序启动速度。 8.更新部分在xpsp3下出错的几个小BUG(小问题小解决,这个错误仅针对部分优化过度的XPSP3系统)。 提记:很多朋友说需要修改下程序IP域名查询功能,这里说明下.由于内核找不到关键句柄导致无法更新,下个版本在仔细看看! Domain4.0(明小子)1001更新版主要更新内容如下: 1.更新部分过度优化过的系统不兼容问题。 2.修改内存识别函数,使其降低软件在使用期间所占用的内存大小。 3.基于08.09.15号内核提升,修正因修改软件所出现的几个导致软件崩溃的几个BUG。 4.换了软件自带的那个垃圾皮肤。加入兼容美化皮肤!更美观! 5.兼容前版本数据库支持功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值