`
sameseam
  • 浏览: 23197 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

总结一下网站注入与防范的方法

 
阅读更多

最近看到很多人的网站都被注入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://hi.baidu.com/anlish/blog/item/ba45bb18eac77e0534fa4134.html

4.如何批量删除数据库中被注入的代码?
在数据库查询分析器运行这段代码即可

SQL code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 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
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> create trigger tr_table_insertupdate on tablename for insert,update as if exists ( select 1 from inserted where data like '%</script>%' ) begin RAISERROR ('不能修改或者添加',16,1); ROLLBACK TRANSACTION end go



6.最重要的还是程序的写法,用参数化SQL或存储过程
例如

C# code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 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
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 传输 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
还会造成不必要的麻烦

分享到:
评论

相关推荐

    网站注入与防范的方法

    ### 网站注入与防范的方法 #### 一、引言 随着互联网技术的发展与普及,网站安全问题日益凸显,其中“网站注入”是威胁网络安全的主要隐患之一。网站注入不仅可能导致用户数据泄露,还可能使整个网站乃至服务器遭受...

    网站注入防范方法总结介绍服务器配置被入侵后的清理防止文件被写入代码

    网站注入防范方法总结 介绍服务器配置 被入侵后的清理 防止文件被写入代码 数据库触发器设置 程序书写SQL参数化方法 加密解密传输

    SQL注入攻击及其防范浅谈

    SQL注入攻击是网络安全领域中一个严重的问题,它发生在应用程序与数据库交互时,攻击者通过输入恶意的SQL代码,使得数据库执行非预期的操作,可能导致数据泄露、数据篡改甚至整个系统的瘫痪。这篇博客将深入探讨SQL...

    基于SQL注入暴力猜解获取ASP网站账号的方法与防范对策研究.pdf

    此外,研究强调了本实验内容对研究SQL注入相关网络攻防技术的重要性,并指出后续研究将继续深入探讨SQL注入工具的实现方法以及针对非ASP类型的网站进行SQL注入原理与防范对策的研究。 对于数据库管理员和网站开发者...

    sql注入攻击防范解析

    总结来说,SQL注入攻击是一种严重的威胁,但通过理解其原理,实施有效的防御策略,并利用工具进行定期检测,我们可以显著降低被攻击的风险。在开发过程中,始终遵循安全编码的最佳实践,确保用户输入的安全性,是...

    SQL注入漏洞分析与防范.pdf

    总结以上内容,SQL注入漏洞的分析与防范需要网站开发者从多个层面出发,包括但不限于代码安全的编写、系统防护措施的实施以及对相关人员的安全培训。通过这些综合性的措施,可以大幅提高网站的安全性,防止因SQL注入...

    SQL注入原理及防范方法.pdf

    总结:随着WEB技术的普及,SQL注入成为了一种常见的攻击手段。了解SQL注入的原理、危害以及防范措施是每个WEB开发者和数据库管理员的必要技能。在设计和部署WEB应用时,必须采取适当的安全措施来保护用户数据和系统...

    SQL注入攻击及其防范技术研究.pdf

    上述内容是根据提供的文件部分摘录信息总结的,涵盖了SQL注入攻击的原理、防范技术以及防范模型的构建等方面的知识。通过系统地学习和实践这些知识,可以有效地减少SQL注入攻击的风险,保障数据库的安全。

    基于Oracle的SQL注入与防范策略研究.pdf

    本文针对Oracle数据库的SQL注入攻击及其防范策略进行了深入的研究。文章首先分析了Web应用程序的基本运行机理以及SQL注入攻击的原理,接着通过实例详细介绍了Oracle数据库中SQL注入的过程,并在最后提出了一套综合性...

    SQL注入专题防范+攻击全手册

    SQL注入防范不仅是技术层面的问题,更是安全意识的体现。开发者需要理解其工作原理,熟练掌握防御技巧,并在实际开发中贯彻执行。同时,定期的安全审计和漏洞扫描也是保持系统安全的重要环节。通过深入学习和实践本...

    SQL注入攻击原理和防范方法.pdf

    4. SQL注入防范方法: - 参数化查询:使用预编译的SQL语句,将用户输入作为参数传递,防止SQL代码直接拼接。 - 输入验证:严格检查用户输入,拒绝包含特殊字符或不符合预期格式的数据。 - 最小权限原则:数据库账户...

    SQL注入的常见攻击方法及其防范.pdf

    **二、SQL注入防范措施** 1. **参数化查询/预编译语句**:使用参数化查询可以确保用户输入被当作数据而不是SQL代码来处理。 2. **输入验证**:对用户输入进行严格的类型、长度、格式检查,拒绝不符合规则的输入。 ...

    试谈校园网中SQL 2008注入攻击与防范.pdf

    总结来说,本文详细介绍了SQL注入攻击在校园网中的实现原理、检测方法和防范措施。通过具体的检测手段和防范策略,可以帮助校园网络管理员更好地防御这类攻击,保障校园网络安全。在实施这些策略时,还要注意对检测...

    浅谈SQL注入漏洞的检测与防范.pdf

    在探讨SQL注入漏洞的检测与防范方面,本文深入地分析了SQL注入的成因、检测方法以及有效的防范措施。首先,SQL注入是随着Web应用的普及而日益成为一个严重的安全问题。SQL注入漏洞之所以成为企业业务系统中的高危...

    SQL注入攻击实验报告

    - **实验目的**:本实验旨在通过搭建一个简单的Web应用程序,模拟SQL注入攻击的过程,并探讨相应的防御措施,帮助理解SQL注入攻击的基本原理及其防范策略。 #### 二、实验原理 - **SQL注入的概念**:SQL注入是一种...

    深入分析SQL注入攻击及安全防范

    四、SQL注入防范策略 1. **输入验证**:对用户输入进行严格的过滤和检查,确保只有预期的数据类型和格式才能被接受。 2. **参数化查询/预编译语句**:使用参数化查询能有效防止SQL注入,因为它们将用户输入和SQL...

    关于JSP防范SQL注入攻击

    本文将详细介绍如何在JSP开发过程中防范SQL注入攻击,包括SQL注入的基本原理、常见的防范策略及具体实现方法。 #### 二、SQL注入攻击原理 SQL注入攻击是指攻击者通过向Web应用程序提交恶意构造的SQL语句,使得这些...

    浅析SQL注入式攻击与防范

    ### 浅析SQL注入式攻击与防范 #### 一、SQL注入式攻击概述 随着互联网技术的迅猛发展,网络安全问题日益凸显。其中,SQL注入式攻击作为一种常见的安全威胁,不仅频繁发生,而且对企业和个人造成了巨大的损失。SQL...

    开发者视角下网站SQL注入漏洞及防范.pdf

    总结来说,该文档深入地探讨了网站安全中的SQL注入问题,对成因、常见攻击方式及预防方法进行了专业分析和指导。开发者通过遵循文中提到的防范措施,可以在很大程度上提高网站的安全性,防范SQL注入攻击,减少损失。...

    基于高校Web应用中SQL注入攻击与防范研究.pdf

    根据提供的文件信息,我们...以上内容总结了文档中关于高校Web应用中SQL注入攻击与防范研究的核心知识点,涵盖了攻击原理、可能的危害以及防范措施等。这些知识点对于理解和提升Web应用的安全防护水平具有重要的价值。

Global site tag (gtag.js) - Google Analytics