Web开发中常见的安全缺陷及解决办法_第1页
Web开发中常见的安全缺陷及解决办法_第2页
Web开发中常见的安全缺陷及解决办法_第3页
Web开发中常见的安全缺陷及解决办法_第4页
Web开发中常见的安全缺陷及解决办法_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、提纲:一、不能盲目相信用户输入二、五种常见的ASP.NET安全缺陷2.1篡改参数2.2篡改参数之二2.3信息泄漏2.4 SQL注入式攻击2.5跨站脚本执行三、使用自动安全测试工具正文:保证应用程序的安全应当从编写第一行代码的时候开始做起,原因很简单,随着应用规模的发展,修补安全漏洞所需的代价也随之快速增长。根据旧M的系统科学协会(SystemsSciencesInstitute)的研究,如果等到软件部署之后再来修补缺陷,其代价相当于开发期间检测和消除缺陷的15倍。为了用最小的代价保障应用程序的安全,在代码本身的安全性、抗御攻击的能力等方面,开发者应当担负更多的责任。然而,要从开发的最初阶段保障

2、程序的安全性,必须具有相应的技能和工具,而真正掌握这些技能和工具的开发者并不是很多。虽然学写安全的代码是一个复杂的过程,最好在大学、内部培训会、行业会议上完成,但只要掌握了下面五种常见的ASP.NET应用安全缺陷以及推荐的修正方案,就能够领先一步,将不可或缺的安全因素融入到应用的出生之时。一、不能盲目相信用户输入在Web应用开发中,开发者最大的失误往往是无条件地信任用户输入,假定用户(即使是恶意用户)总是受到浏览器的限制,总是通过浏览器和服务器交互,从而打开了攻击Web应用的大门。实际上,黑客们攻击和操作Web网站的工具很多,根本不必局限于浏览器,从最低级的字符模式的原始界面(例如telnet

3、),到CGI脚本扫描器、Web代理、Web应用扫描器,恶意用户可能采用的攻击模式和手段很多。因此,只有严密地验证用户输入的合法性,才能有效地抵抗黑客的攻击。应用程序可以用多种方法(甚至是验证范围重叠的方法)执行验证,例如,在认可用户输入之前执行验证,确保用户输入只包含合法的字符,而且所有输入域的内容长度都没有超过范围(以防范可能出现的缓冲区溢出攻击),在此基础上再执行其他验证,确保用户输入的数据不仅合法,而且合理。必要时不仅可以采取强制性的长度限制策略,而且还可以对输入内容按照明确定义的特征集执行验证。下面几点建议将帮助你正确验证用户输入数据:(1)始终对所有的用户输入执行验证,且验证必须在一

4、个可靠的平台上进行,应当在应用的多个层上进行。除了输入、输出功能必需的数据之外,不要允许其他任何内容。设立信任代码基地”,允许数据进入信任环境之前执行彻底的验证。登录数据之前先检查数据类型。详尽地定义每一种数据格式,例如缓冲区长度、整数类型等。严格定义合法的用户请求,拒绝所有其他请求。测试数据是否满足合法的条件,而不是测试不合法的条件。这是因为数据不合法的情况很多,难以详尽列举。二、五种常见的ASP.NET安全缺陷下面给出了五个例子,阐述如何按照上述建议增强应用程序的安全性。这些例子示范了代码中可能出现的缺陷,以及它们带来的安全风险、如何改写最少的代码来有效地降低攻击风险。篡改参数使用ASP.NET域验证器盲目信任用户输入是保障Web应用安全的第一敌人。用户输入的主要来源是HTML表单中提交的参数,如果不能严格地验证这些参数的合法性,就有可能危及服务器的安全。下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论