系统安全培训-Web安全性_第1页
系统安全培训-Web安全性_第2页
系统安全培训-Web安全性_第3页
系统安全培训-Web安全性_第4页
系统安全培训-Web安全性_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、系统安全培训-Web安全性 系统安全 Web 2014年7月 系统安全培训-Web安全性 2014中国计算机网络安全应急年会 资料 系统安全培训-Web安全性 安全性问题之一SQL注入 n什么是 SQL Injection: (SQL注入) 就是攻击者把SQL命令插入到Web表单的输入域 或页面请求的查询字符串,欺骗服务器执行恶意 的SQL命令。 简而言之,是在输入的数据字符串中夹带SQL指 令,在设计不良的程序中忽略了检查,那么在这 些夹带的指令就会被数据库服务器误认为是正常 的SQL指令而运行,因此招致到破坏 系统安全培训-Web安全性 安全性问题之一SQL注入 nSQL Injectio

2、n: (SQL注入) SQL注入是最常见的攻击方式,它的主要原理 是:攻击者通过改变WEB页的参数,直接将 SQL片断提交到服务器,并在服务器端执行的 过程。 系统安全培训-Web安全性 安全性问题之一SQL注入 nSQL注入的原因 1、在应用程序中使用字符串联结方式组合SQL指令 2、在应用程序链接数据库时使用权限过大的帐号(例如 使用SA) 3、在数据库中开放了不必要但权力过大的功能(如,在 SQLServer中的的xp_cmdshell延伸预存程序或是OLE Automation预存程序等) 4、太过于信任用户所输入的数据,未限制输入的字符数 系统安全培训-Web安全性 安全性问题之一S

3、QL注入 nSQL注入的危害 修改数据库内容 删除其它表 窃取数据到本地 执行系统命令,进而修改或控制操作系统、破 坏硬盘数据等 n特点 攻击耗时少、危害大 系统安全培训-Web安全性 安全性问题之一SQL注入 n问题代码(ASP+MS SQL Server) if Request.QueryString(id) is NoThing then id=1 else id=Request.QueryString(id) end if sql=select title,content from news where id=update news set title=test where title

4、=oldtitle 执行语句:select title,content from news where id=1;update news set title=test where title=oldtitle 系统安全培训-Web安全性 安全性问题之一SQL注入 n删除其它表 提交语句1;drop table tablename 执行语句:select title,content from news where id=1;drop table tablename 系统安全培训-Web安全性 服务器返回的错误信息 关键 文件 路径 系统安全培训-Web安全性 服务器返回的错误信息 系统安全培训-

5、Web安全性 如何预防SQL注入? n 从应用程序的角度来讲,我们要做以下三项工作: n1. 转义敏感字符及字符串(SQL的敏感字符包括: n“exec”,”xp_”,”sp_”,”declare”,”Union”,”cmd”,”+”,”/ /”,”.”,”;”,”,”-”,”%”,”0 x”,”=!-*/()|”,和”空格”)。 n2. 屏蔽出错信息:阻止攻击者知道攻击的结果 n3. 服务端正式处理之前对提交数据的合法性进行 检查(包括:数据类型,数据长度,敏感字符的校验) 。 在确认客户端的输入合法之前,服务端拒绝进行关 键性的处理操作。 系统安全培训-Web安全性 如何预防SQL注入?

6、n从实际应用还需要注意: n1. 只要是提交的数据包含非法字符,或者要替换 为安全字符,或者提交的数据要替换为默认值。 n2. 含有非法字符串的数据提交不应该显示“您所 提交的数据非法”等类似的提示。因为对于访问 者而言,这是没有必要的。 n3. 尽可能完善操作日志记录和错误日记记录。 系统安全培训-Web安全性 安全性问题之二上传文件漏洞 n伪造客户端绕过上传后缀名检查 n可能导致上传木马 n解决方法:使用白名单,后台检查 系统安全培训-Web安全性 防止木马执行的方法 n给各个不必要的目录,去掉“执行”权限; 删除不需要的程序映射。 系统安全培训-Web安全性 安全性问题之三XSS nCr

7、oss-Site Scripting (XSS):(跨站点脚本攻 击) XSS是由于Web程序没有对用户提交的HTML 内容进行适当的过滤,这样攻击者就可能在你 的Web页中插入一些HTML语句,这些语句通 过以标签的形式出现。 攻击者通常使用跨站脚本攻击来窃取 COOKIES 和 SESSION信息,或是欺骗用户 将隐私信息暴露给错误对象(又称为钓鱼) 。 系统安全培训-Web安全性 问题三XSS Results for window.open(? . document.cookie .) Attack Server 受害人服务器 受害人客户端 user gets bad link user

8、 clicks on link victim echoes user input ? term = . 系统安全培训-Web安全性 安全性问题之三XSS n跨站脚本XSS利用示例 Cookie、Session n会话Cookie ASPSESSIONIDXXXXXXXX、JSESSIONID、 PHPSESSID 系统安全培训-Web安全性 安全性问题之三XSS n在html编辑输入:显示cookie 系统安全培训-Web安全性 安全性问题之四SCRF nCross-Site Request Forgery (SCRF):(跨站 点请求伪造) SCRF的特性就是利用网站对用户标识的信任, 欺骗

9、用户的浏览器发送HTTP请求给目标站点。 系统安全培训-Web安全性 安全性问题之四SCRF n浏览器和网站建立认证的会话 Web浏览器跟可信的站点建立了一个经认证的会话之后, 只要是通过该Web浏览器这个认证的会话所发送的请求, 都被视为可信的动作。 系统安全培训-Web安全性 安全性问题之四SCRF n浏览器发送有效的请求 浏览器正在发送一个有效的请求,即Web浏览器企图执行一 个可信的动作。可信的站点经确认发现,该Web浏览器已通 过认证,所以该动作将被执行。 系统安全培训-Web安全性 安全性问题之四SCRF n恶意站点伪造的有效请求 图中,发生了一个SCRF攻击。发起攻击的站点致 使

10、浏览器向可信的站点发送一个请求。该可信的站 点认为,来自该Web浏览器的请求都是经过认证的 有效请求,所以执行这个“可信的动作”。SCRF 攻击之所以会发生,其根本原因就是Web站点所验 证的是Web浏览器而非用户本身。 系统安全培训-Web安全性 安全性问题之四SCRF n假如张三在浏览目标站点A,那么站点A便会给张 三的浏览器一个cookie,用于存放一个伪随机数 作为会话标识符sid,以跟踪她的会话。该站点会 要求张三进行登录,当她输入有效的用户名和口 令时,该站点会记录这样一个事实:张三已经登 录到会话sid。当张三发送一个请求到站点A时, 她的浏览器就会自动地发送包含sid的会话co

11、okie。 之后,站点A就会使用站点的会话记录来识别该 会话是否来自张三。 系统安全培训-Web安全性 安全性问题之四SCRF n现在,我们假设张三访问了一个恶意站点B,该 站点提供的内容中的JavaScript代码或者图像标 签会导致张三的浏览器向站点A发送一个HTTP请 求。由于该请求是发给站点A的,所以张三的浏 览器自动地给该请求附上与站点A对应的该会话 cookie的sid。站点A看到该请求时,它就能通过 该cookie的推断出:该请求来自张三,所以站点A 就会对张三的帐户执行所请求的操作。这样, SCRF攻击就能得逞了。 系统安全培训-Web安全性 安全性问题之四SCRF n客户端

12、(认证)服务器 nCookie: sid n第三方站点客户端 (恶意命令请求) 服务器 n第三方站点内容: n指令:张三的账户A向账号B转账,交易金额1000 系统安全培训-Web安全性 安全性问题之四SCRF n总之,只要身份认证是隐式进行的,就会存在 SCRF攻击的危险,因为浏览器发出请求这一动 作未必是受用户的指使。 n原则上,这种威胁可以通过对每个发送至该站点 的请求都要求用户进行显式的、不可欺骗的动作 (比如重新输入用户名和口令)来消除,但实际上这 会导致严重的易用性问题。 n大部分标准和广泛应用的认证机制都无法防止 CSRF攻击。 系统安全培训-Web安全性 安全性问题之四SCRF

13、 nSCRF成功发动攻击前提是,用户必须已经登录 到目标站点,并且必须浏览了攻击者的站点或被 攻击者部分控制的站点。 系统安全培训-Web安全性 安全性问题之四SCRF nSCRF和XSS攻击的区别在于,XSS攻击需要 JavaScript,而CSRF攻击不需要;XSS攻击要求 站点接受恶意代码,而对于SCRF攻击来说,恶 意代码位于第三方站点上。 n防御XSS攻击的措施无法保护站点不受SCRF攻 击的危害。如果站点具有XSS攻击漏洞,那么它 也有SCRF攻击漏洞。但是,即使站点针对XSS 攻击采取了全面保护,却仍然面临SCRF攻击的 威胁。 系统安全培训-Web安全性 安全性问题之五XSIO

14、 nCross Site Image Overlaying (XSIO) :跨站图像叠 加 XSIO是因为没有限制图片的position属性为absolute, 导致可以控制一张图片出现在网页的任意位置。 那么我们就可以用这张图片去覆盖网页上的任意一个 位置(link、button)。 这就可以导致页面破坏。而给图片设置一个链接后, 很显然就可以起到一个钓鱼的作用。 由于对正常的HTML 标签是没有做过滤的,所以我们可 以用这些标签或CSS样式来实施XSIO攻击。 系统安全培训-Web安全性 安全性问题之六XSIO nCross Site Image Overlaying (XSIO) :跨站

15、 图像叠加 n测试方法: 系统安全培训-Web安全性 安全性问题之六XSIO 跨站图像叠加 系统安全培训-Web安全性 安全性问题的根源 n客户端数据的不可信任性。 nNever under any circumstances trust data from the browser.(从不要相信来自浏 览器端的数据,因为你永远不可能知道在 浏览器进行数据操作是你的用户还是正在 寻找攻击漏洞的黑客) n不信任客户端如何交换数据? 系统安全培训-Web安全性 解决方法:安全性测试 n安全性测试是一个很大的题目,首先取决 于要达到怎样的安全程度。不要期望网站 可以达到100%的安全。 系统安全培训-

16、Web安全性 解决方法:安全性测试 n(1)如何进行XSS测试? 首先,找到带有参数传递的URL,如登录页面,搜 索页面,提交评论,发表留言页面等等。 其次,在页面参数中输入如下语句 (如:Javascript,VB script, HTML,ActiveX, Flash) 来进行测试: alert(document.cookie) 系统安全培训-Web安全性 解决方法:安全性测试 n (2)如何预防XSS漏洞? 从应用程序的角度来讲,要进行以下几项预防: n对Javascript,VBscript, HTML,ActiveX, Flash等语句或脚本进 行转义。 n在服务端正式处理之前对提交数据的合法性进行检查(包括:数 据类型,数据长度,敏感字符的校验) 等。 从测试人员的角度来讲,要从需求检查和执行测

温馨提示

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

评论

0/150

提交评论