WEB应用与开发(安全).ppt_第1页
WEB应用与开发(安全).ppt_第2页
WEB应用与开发(安全).ppt_第3页
WEB应用与开发(安全).ppt_第4页
WEB应用与开发(安全).ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

WEB应用与开发 常见的安全缺陷及解决办法,余德贵 ,1、web应用程序的结构和安全(ASP),可能出现的安全问题: (1)服务端:操作系统、Web网站访问安全(TCP/IP 端口)、应用程序(ASP/执行文件的运行等)、数据库安全(如数据的合法性) (2)客户端:访问Web网站资源时出现的安全,如脚本安全,执行文件(exe、bat)的下载和运行 (3)传输:数据被拦截、侦听、数据包解密等。,(2)客户端,(1)服务端,(3)传输,2、web应用程序安全(ASP),安全表征: (1)服务端:数据库丢失、数据失窃和修改、据库服务停止、 Web网站瘫痪或页面被修改(盗连接)、操作系统崩溃等 安全缺陷:操作系统、数据服务和web应用程序本身的缺陷 (2)客户端:浏览器、操作系统设置被恶意修改、数据失窃和修改、操作系统崩溃等 安全缺陷:操作系统本身的缺陷、保护意识和非法使用计算机软件,2、web应用程序安全,攻击、侵入网站、病毒(木马设计)的目的: (1)表现自己的计算机水平(好奇) (2)窃取数据机密(如情报) (3)商业目的,如计算机病毒的生产与某些杀毒软件公司有密切联系 (4)保护自己程序代码。 故意攻击、侵入网站、病毒(木马)设计和传播是犯罪行为!,用autorun.inf文件传播我木马或病毒,最近出现了用autorun.inf文件传播我木马或病毒,它通过使用者的误操作让目标程序执行,达到侵入电脑的目的,autorun.inf常用于对文件的安装等操作,是为了方便使用者运行程序。但因为有木马和病毒通过它传播所以它带来了很大的负面影响 。 利用TCP/IP协议设计的Nethacker等黑客软件可以穿过Internet网络,找到共享的主机,然后进行相应操作。所以当您通过Modem上网时,千万要小心,因为一不小心,您的主机将完全共享给对方了。防范这类事情发生的方法无非是经常检查系统,给系统打上补丁,经常使用反黑杀毒软件,上网时打开防火墙,注意异常现象,留意AutoRun.inf文件的内容,关闭共享或不要设置为完全共享,且加上复杂的共享密码。,操作系统、数据服务和web应用程序本身的缺陷攻击、侵入网站,Windows 的某些服务程序,Tcp/ip 数据共享 SQL Server 的sql语句(数据库注入) ASP程序代码执行安全,web应用程序开发安全职责,保证应用程序的安全应当从编写第一行代码的时候开始做起,原因很简单,随着应用规模的发展,修补安全漏洞所需的代价也随之快速增长。根据IBM的系统科学协会(Systems Sciences Institute)的研究,如果等到软件部署之后再来修补缺陷,其代价相当于开发期间检测和消除缺陷的15倍。 为了用最小的代价保障应用程序的安全,在代码本身的安全性、抗御攻击的能力等方面,开发者应当担负更多的责任。然而,要从开发的最初阶段保障程序的安全性,必须具有相应的技能和工具,而真正掌握这些技能和工具的开发者并不是很多。虽然学写安全的代码是一个复杂的过程,最好在大学、内部培训会、行业会议上完成,但只要掌握了下面五种常见的ASP.NET应用安全缺陷以及推荐的修正方案,就能够领先一步,将不可或缺的安全因素融入到应用的出生之时。,一、不能盲目相信用户输入 在Web应用开发中,开发者最大的失误往往是无条件地信任用户输入,假定用户(即使是恶意用户)总是受到浏览器的限制,总是通过浏览器和服务器交互,从而打开了攻击Web应用的大门。实际上,黑客们攻击和操作Web网站的工具很多,根本不必局限于浏览器,从最低级的字符模式的原始界面(例如telnet),到CGI脚本扫描器、Web代理、Web应用扫描器,恶意用户可能采用的攻击模式和手段很多。 处理办法:用客户/服务端基本数据验证: 始终对所有的用户输入执行验证,且验证必须在一个可靠的平台上进行,应当在应用的多个层上进行。 除了输入、输出功能必需的数据之外,不要允许其他任何内容。 设立“信任代码基地”,允许数据进入信任环境之前执行彻底的验证。 登录数据之前先检查数据类型。 详尽地定义每一种数据格式,例如缓冲区长度、整数类型等。 严格定义合法的用户请求,拒绝所有其他请求。 测试数据是否满足合法的条件,而不是测试不合法的条件。这是因为数据不合法的情况很多,难以详尽列举。,3、web应用程序开发安全措施(ASP),二、sql server 数据防止注入 攻击者可以在输入域中插入特殊字符,改变SQL查询的本意,欺骗数据库服务器执行恶意的查询恶意查询,有可能获取后端数据库保存的任何信息,例如客户信用卡号码的清单甚至进入操作系统。 Sql注入式攻击是指利用设计上的漏洞,在目标服务器上运行Sql 命令以及进行其他方式的攻击 动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因: Password=“123456 or 2=2 ” Password=“123456 delete from user ”,3、web应用程序开发安全措施(ASP),二、sql server 数据防止注入 运行dos命令 net user xp_cmdshell add exec master.dbo.xp_cmdshell net localgroup administrators EXEC master.dbo.xp_cmdshell net user aaa 123456/add EXEC master.dbo.xp_cmdshell net user aaa 123456/add EXEC master.dbo.xp_cmdshell net localgroup Administrators aaa /add EXEC master.dbo.xp_cmdshell net localgroup COMPUTERRemote Desktop Users aaa /add 处理办法: 最小权限原则。特别是不要用dbo或者sa账户,为不同的类型的动作或者组建使用不同的账户,最小权限原则适用于所有与安全有关的场合 对用户输入进行检查。对一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤;使用强数据类型,比如你需要用户输入一个整数,就要把用户输入的数据转换成整数形式;限制用户输入的长度等等。这些检查要放在server运行,client提交的任何东西都是不可信的 使用存储过程,如果一定要使用sq语句,那么用标准的方式组建sql语句,比如可以利用parameters对象,避免用字符串直接拼sq命令。 当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,错误信息经常会透露一些数据库设计的

温馨提示

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

评论

0/150

提交评论