




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统安全
——Web安全性2014年7月第一页,共三十八页。2014中国计算机网络安全应急年会资料第二页,共三十八页。安全性问题之一SQL注入什么是SQLInjection:(SQL注入)
就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。
简而言之,是在输入的数据字符串中夹带SQL指令,在设计不良的程序中忽略了检查,那么在这些夹带的指令就会被数据库服务器误认为是正常的SQL指令而运行,因此招致到破坏第三页,共三十八页。安全性问题之一SQL注入SQLInjection:(SQL注入)SQL注入是最常见的攻击方式,它的主要原理是:攻击者通过改变WEB页的参数,直接将SQL片断提交到服务器,并在服务器端执行的过程。第四页,共三十八页。安全性问题之一SQL注入SQL注入的原因1、在应用程序中使用字符串联结方式组合SQL指令2、在应用程序链接数据库时使用权限过大的帐号(例如使用SA)3、在数据库中开放了不必要但权力过大的功能(如,在SQLServer中的的xp_cmdshell延伸预存程序或是OLEAutomation预存程序等)4、太过于信任用户所输入的数据,未限制输入的字符数第五页,共三十八页。安全性问题之一SQL注入SQL注入的危害修改数据库内容删除其它表窃取数据到本地执行系统命令,进而修改或控制操作系统、破坏硬盘数据等特点攻击耗时少、危害大第六页,共三十八页。安全性问题之一SQL注入问题代码(ASP+MSSQLServer)ifRequest.QueryString("id")isNoThingthenid=1else
id=Request.QueryString("id")endifsql="selecttitle,contentfrom[news]whereid="&idsetrs=Server.CreateObject("adodb.Recordset")rs.Opensql,connection,1,1第七页,共三十八页。安全性问题之一SQL注入修改数据库内容提交语句1;updatenewssettitle='test'wheretitle='oldtitle’执行语句:selecttitle,contentfrom[news]whereid=1;updatenewssettitle='test'wheretitle='oldtitle'第八页,共三十八页。安全性问题之一SQL注入删除其它表提交语句1;droptabletablename执行语句:selecttitle,contentfrom[news]whereid=1;droptabletablename第九页,共三十八页。服务器返回的错误信息关键文件路径第十页,共三十八页。服务器返回的错误信息第十一页,共三十八页。如何预防SQL注入?
从应用程序的角度来讲,我们要做以下三项工作:1.转义敏感字符及字符串(SQL的敏感字符包括:“exec”,”xp_”,”sp_”,”declare”,”Union”,”cmd”,”+”,”//”,”..”,”;”,”‘”,”--”,”%”,”0x”,”><=!-*/()|”,和”空格”)。2.屏蔽出错信息:阻止攻击者知道攻击的结果3.服务端正式处理之前对提交数据的合法性进行检查(包括:数据类型,数据长度,敏感字符的校验)。在确认客户端的输入合法之前,服务端拒绝进行关键性的处理操作。第十二页,共三十八页。如何预防SQL注入?从实际应用还需要注意:1.只要是提交的数据包含非法字符,或者要替换为安全字符,或者提交的数据要替换为默认值。2.含有非法字符串的数据提交不应该显示“您所提交的数据非法”等类似的提示。因为对于访问者而言,这是没有必要的。3.尽可能完善操作日志记录和错误日记记录。第十三页,共三十八页。安全性问题之二上传文件漏洞伪造客户端绕过上传后缀名检查可能导致上传木马解决方法:使用白名单,后台检查第十四页,共三十八页。防止木马执行的方法给各个不必要的目录,去掉“执行”权限;删除不需要的程序映射。第十五页,共三十八页。安全性问题之三XSSCross-SiteScripting(XSS):(跨站点脚本攻击)XSS是由于Web程序没有对用户提交的HTML内容进行适当的过滤,这样攻击者就可能在你的Web页中插入一些HTML语句,这些语句通过以<script>标签的形式出现。攻击者通常使用跨站脚本攻击来窃取COOKIES
和SESSION信息,或是欺骗用户将隐私信息暴露给错误对象(又称为钓鱼)。第十六页,共三十八页。问题三XSS<html>Resultsfor<script>window.open(?...document.cookie...)</script></html>AttackServer受害人服务器受害人客户端usergetsbadlinkuserclicksonlinkvictimechoesuserinput?term=<script>...</script>第十七页,共三十八页。安全性问题之三XSS跨站脚本XSS利用示例Cookie、Session会话CookieASPSESSIONIDXXXXXXXX、JSESSIONID、PHPSESSID第十八页,共三十八页。安全性问题之三XSS在html编辑输入:<ahref=“javAScrIpT:alert(document.cookie);”>显示cookie</a>第十九页,共三十八页。安全性问题之四SCRFCross-SiteRequestForgery(SCRF):(跨站点请求伪造)SCRF的特性就是利用网站对用户标识的信任,欺骗用户的浏览器发送HTTP请求给目标站点。第二十页,共三十八页。安全性问题之四SCRF浏览器和网站建立认证的会话Web浏览器跟可信的站点建立了一个经认证的会话之后,只要是通过该Web浏览器这个认证的会话所发送的请求,都被视为可信的动作。第二十一页,共三十八页。安全性问题之四SCRF浏览器发送有效的请求浏览器正在发送一个有效的请求,即Web浏览器企图执行一个可信的动作。可信的站点经确认发现,该Web浏览器已通过认证,所以该动作将被执行。第二十二页,共三十八页。安全性问题之四SCRF恶意站点伪造的有效请求图中,发生了一个SCRF攻击。发起攻击的站点致使浏览器向可信的站点发送一个请求。该可信的站点认为,来自该Web浏览器的请求都是经过认证的有效请求,所以执行这个“可信的动作”。SCRF攻击之所以会发生,其根本原因就是Web站点所验证的是Web浏览器而非用户本身。第二十三页,共三十八页。安全性问题之四SCRF假如张三在浏览目标站点A,那么站点A便会给张三的浏览器一个cookie,用于存放一个伪随机数作为会话标识符sid,以跟踪她的会话。该站点会要求张三进行登录,当她输入有效的用户名和口令时,该站点会记录这样一个事实:张三已经登录到会话sid。当张三发送一个请求到站点A时,她的浏览器就会自动地发送包含sid的会话cookie。之后,站点A就会使用站点的会话记录来识别该会话是否来自张三。第二十四页,共三十八页。安全性问题之四SCRF现在,我们假设张三访问了一个恶意站点B,该站点提供的内容中的JavaScript代码或者图像标签会导致张三的浏览器向站点A发送一个HTTP请求。由于该请求是发给站点A的,所以张三的浏览器自动地给该请求附上与站点A对应的该会话cookie的sid。站点A看到该请求时,它就能通过该cookie的推断出:该请求来自张三,所以站点A就会对张三的帐户执行所请求的操作。这样,SCRF攻击就能得逞了。第二十五页,共三十八页。安全性问题之四SCRF第二十六页,共三十八页。安全性问题之四SCRF总之,只要身份认证是隐式进行的,就会存在SCRF攻击的危险,因为浏览器发出请求这一动作未必是受用户的指使。原则上,这种威胁可以通过对每个发送至该站点的请求都要求用户进行显式的、不可欺骗的动作(比如重新输入用户名和口令)来消除,但实际上这会导致严重的易用性问题。大部分标准和广泛应用的认证机制都无法防止CSRF攻击。第二十七页,共三十八页。安全性问题之四SCRFSCRF成功发动攻击前提是,用户必须已经登录到目标站点,并且必须浏览了攻击者的站点或被攻击者部分控制的站点。第二十八页,共三十八页。安全性问题之四SCRFSCRF和XSS攻击的区别在于,XSS攻击需要JavaScript,而CSRF攻击不需要;XSS攻击要求站点接受恶意代码,而对于SCRF攻击来说,恶意代码位于第三方站点上。防御XSS攻击的措施无法保护站点不受SCRF攻击的危害。如果站点具有XSS攻击漏洞,那么它也有SCRF攻击漏洞。但是,即使站点针对XSS攻击采取了全面保护,却仍然面临SCRF攻击的威胁。第二十九页,共三十八页。安全性问题之五XSIOCrossSiteImageOverlaying(XSIO):跨站图像叠加XSIO是因为没有限制图片的position属性为absolute,导致可以控制一张图片出现在网页的任意位置。那么我们就可以用这张图片去覆盖网页上的任意一个位置(link、button)。这就可以导致页面破坏。而给图片设置一个链接后,很显然就可以起到一个钓鱼的作用。由于对正常的HTML标签是没有做过滤的,所以我们可以用这些标签或CSS样式来实施XSIO攻击。第三十页,共三十八页。安全性问题之六XSIO第三十一页,共三十八页。安全性问题之六XSIO<ahref="javAScrIpT:alert('跨站图像叠加XSIO');"><imgheight="240"src="/BL_BBS/uploads/a2.JPG"width="320"style="filter:alpha(opacity=30);left:0px;position:absolute;top:100px;opacity:0.3"/></a>跨站图像叠加第三十二页,共三十八页。安全性问题的根源客户端数据的不可信任性。Never—underanycircumstances—trustdatafromthebrowser.(从不要相信来自浏览器端的数据,因为你永远不可能知道在浏览器进行数据操作是你的用户还是正在寻找攻击漏洞的黑客)不信任客户端如何交换数据?第三十三页,共三十八页。解决方法:安全性测试安全性测试是一个很大的题目,首先取决于要达到怎样的安全程度。不要期望网站可以达到100%的安全。第三十四页,共三十八页。解决方法:安全性测试(1)如何进行XSS测试?首先,找到带有参数传递的URL,如登录页面,搜索页面,提交评论,发表留言页面等等。其次,在页面参数中输入如下语句(如:Javascript,VBscript,HTML,ActiveX,Flash)来进行测试:<script>alert(document.cookie)</script>第三十五页,共三十八页。解决方法:安全性测试(2)如何预防XSS漏洞?从应用程序的角度来讲,要进行以下几项预防:对Javascript,VBscript,HTML,ActiveX,Flash等语句或脚本进行转义。在服务端正式处理之前对提交数据的合法性进行检查(包括:数据类型,数据长度,敏感字符的校验)等。从测试人员的角度来讲,要从需求检查和执行测试过程两个阶段来完成XSS检查:在需求检查过程中对各输入项或输出项进行类型、长度以及取值范围进行验证,着重验证是否对HTML或脚本代码进行了转义。执行测试过程中也应对上述项进行检查。第三十六页,共三十八页。解决方法:安全性测试一般实现业务的网站期望的安全指标:1、能够对密码试探工具进行防范;2、能够防范对cookie攻击等常用攻击手段;3、敏感数据保证不用明文传输;4、能防范通过文件名猜测和查看HTML文件内容获取重要信息;5、能保证在网站受到攻击后在给定时间内恢复。第三十七页,共三十八页。内容总结系统安全
——Web安全性。系统安全
——Web
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农民培训项目实施细则手册
- 企业战略领导力与团队建设作业指导书
- 项目结束阶段总结致辞
- 品牌推广与市场分析指南
- 2024年下半年浙江瓯海城市建设投资集团有限公司招聘总及预备阅读模式笔试参考题库附带答案详解
- 长春2025年吉林长春德惠市“归巢”事业单位人才回引(30人)笔试历年参考题库附带答案详解
- 铜陵2025年安徽铜陵市铜官区事业单位招聘14人笔试历年参考题库附带答案详解
- 通化2025年吉林通化师范学院招聘高级人才49人(1号)笔试历年参考题库附带答案详解
- 衡阳2025年湖南耒阳市卫健系统事业单位引进人才25人笔试历年参考题库附带答案详解
- 苏州2025年江苏苏州高新区教育系统招聘事业编制教师210人笔试历年参考题库附带答案详解
- 02S515排水检查井图集
- 2024山东能源集团中级人才库选拔(高频重点提升专题训练)共500题附带答案详解
- 【实习护生职业认同感及留职意愿现况问卷调查报告(含问卷)5400字(论文)】
- DZ∕T 0272-2015 矿产资源综合利用技术指标及其计算方法(正式版)
- 14J936《变形缝建筑构造》
- 1.1立足时代志存高远课件-高一思想政治《心理健康与职业生涯》(高教版2023基础模块)
- 循环系统-解剖结构
- 光伏发电工程施工主要施工工艺及技术方案
- 校园艾滋病结核病课件
- 语文学习任务群解读
- 2024春苏教版《亮点给力大试卷》数学六年级下册(全册有答案)
评论
0/150
提交评论