BS架构体系安全渗透测试基础课件.pptx
《BS架构体系安全渗透测试基础课件.pptx》由会员分享,可在线阅读,更多相关《BS架构体系安全渗透测试基础课件.pptx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、B/S架构体系安全渗透测试基础质量保证部朱晟索迪教育索迪教育 ITIT成就人生成就人生内容概要前言当今世界,Internet(因特网)已经成为一个非常重要的基础平台,很多企业都将应用架设在该平台上,为客户提供更为方便、快捷的服务支持。这些应用在功能和性能上,都在不断的完善和提高,然而在非常重要的安全性上,却没有得到足够的重视。由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web应用的攻击上。根据最新调查,信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。就公司以前WEB项目外部应用的现状:90%的网
2、站都受到过类似SQL注入等黑客的攻击。索迪教育索迪教育 ITIT成就人生成就人生管理部分内容索引B/S架构常见安全问题索迪教育索迪教育 ITIT成就人生成就人生B/S架构常见安全问题当讨论起Web应用安全,我们经常会听到这样的回答:“我们使用了防火墙”、“我们使用了网络脆弱扫描工具”、“我们使用了SSL技术”所以,“我们的应用是安全的”。现实真是如此吗?让我们一起来看一下Web应用安全的全景图。索迪教育索迪教育 ITIT成就人生成就人生为何要进行安全测试但是,即便有防病毒保护、防火墙和SSL,企业仍然不得不允许一部分的通讯经过防火墙,毕竟Web应用的目的是为用户提供服务,保护措施可以关闭不必要
3、暴露的端口,但是Web应用必须的80和443端口,是一定要开放的。可以顺利通过的这部分通讯,可能是善意的,也可能是恶意的,很难辨别。这里需要注意的是,Web应用是由软件构成的,那么,它一定会包含缺陷(bugs),这些bug就可以被恶意的用户利用,他们通过执行各种恶意的操作,或者偷窃、或者操控、或者破坏Web应用中的重要信息。只要访问可以顺利通过企业的防火墙,Web应用就毫无保留的呈现在用户面前。只有加强Web应用自身的安全,才是真正的Web应用安全解决之道。索迪教育索迪教育 ITIT成就人生成就人生风险性较高的攻击方法“跨站点脚本攻击”和“注入缺陷攻击”,是目前Web应用中比例最高的两种攻击手
4、段,还有如下八种风险性较高的攻击方法:Malicious(恶意文件执行);InsecureDirectObjectReference(不安全的直接对象引用);Cross-SiteRequestForgery(跨站点的请求伪造);InformationLeakageandImproperErrorHandling(信息泄漏和不正确的错误处理);BrokenAuthentication&SessionManagement(损坏的认证和Session管理);InsecureCryptographicStorage(不安全的密码存储);InsecureCommunications(不安全的通信);Fa
5、iluretoRestrictURLAccess(未能限制URL访问)在这里,我简单介绍下这些缺陷索迪教育索迪教育 ITIT成就人生成就人生常见的Web应用攻击示例1、跨站点脚本攻击(cross-sitescrpting,简称XSS),首先来看一下跨站点脚本的利用过程,如图。索迪教育索迪教育 ITIT成就人生成就人生在上图中,恶意攻击者(这里使用Evil.org表示)通过E-mail或HTTP将某银行的网址链接发给用户(银行用表示),该链接中附加了恶意的脚本(上图步骤一);用户访问发来的链接,进入银行网站,同时,嵌在链接中的脚本被用户的浏览器执行(上图步骤二、三);用户在银行网站的所有操作,包
6、括用户的cookie和session信息,都被脚本收集到,并且在用户毫不知情的情况下发送给恶意攻击者(上图步骤四);恶意攻击者使用偷来的session信息,伪装成该用户,进入银行网站,进行非法活动(上图步骤五)。因此,只要Web应用中,有可被恶意攻击者利用执行脚本的地方,都存在极大的安全隐患。黑客们如果可以让用户执行他们提供的脚本,就可以从用户正在浏览的域中偷到他的个人信息、可以完全修改用户看到的页面内容、跟踪用户在浏览器中的每一个动作,甚至利用用户浏览器的缺陷完全控制用户的机器。目前,跨站点脚本攻击是最大的安全风险。索迪教育索迪教育 ITIT成就人生成就人生检查您的站点是否处于XSS攻击保护
7、的方法检查站点的确安全也可以通过手工完成(硬方法),或利用自动的Web应用程序安全漏洞评估工具(如appscan),它减轻了检查的负担。该工具爬遍站点,然后根据尝试参数、头,和路径找到的所有脚本,运行其知道的所有变化。在这两种方法中,用尽可能多的方式检查对应用程序的每个输入(所有脚本的参数、HTTP头、路径)。如果响应页面包含浏览器可以执行的Javascrpt代码,那么XSS安全漏洞就已显露出来。举例来说,首先,找到带有参数传递的URL,如登录页面,搜索页面,提交评论,发表留言页面等等。其次,在页面参数中输入如下语句(如:Javascrpt,VBscrpt,HTML,Flash)来进行测试:a
8、lert(document.cookie)最后,当用户浏览时便会弹出一个警告框,内容显示的是浏览者当前的cookie串,这就说明该网站存在XSS漏洞。试想如果我们注入的不是以上这个简单的测试代码,而是一段经常精心设计的恶意脚本,当用户浏览此帖时,cookie信息就可能成功的被攻击者获取。此时浏览者的帐号就很容易被攻击者掌控了。索迪教育索迪教育 ITIT成就人生成就人生XSS攻击示例大名鼎鼎的淘宝网也存在这样的漏洞,我们在搜索框中输入:/=!-*/()|”,和”空格”).2.屏蔽出错信息:阻止攻击者知道攻击的结果3.在服务端正式处理之前提交数据的合法性(合法性检查主要包括三项:数据类型,数据长度
9、,敏感字符的校验)进行检查等。最根本的解决手段,在确认客户端的输入合法之前,服务端拒绝进行关键性的处理操作.从测试人员的角度来讲,在程序开发前(即需求阶段),我们就应该有意识的将安全性检查应用到需求评审中,例如对一个表单需求进行检查时,我们一般检验以下几项安全性问题:1.需求中应说明表单中某一FIELD的类型,长度,以及取值范围(主要作用就是禁止输入敏感字符)2.需求中应说明如果超出表单规定的类型,长度,以及取值范围的,应用程序应给出不包含任何代码或数据库信息的错误提示.当然在执行测试的过程中,我们也需求对上述两项内容进行测试.索迪教育索迪教育 ITIT成就人生成就人生信息泄漏和不正确的错误处
10、理此漏洞利用的重点在于应用程序未能正确处理自身发生的错误此漏洞利用的重点在于应用程序未能正确处理自身发生的错误,技术重点在于某些应,技术重点在于某些应用程序出错时,会把错误信息反馈到用户端,这些错误信息通常可用于调试的目的用程序出错时,会把错误信息反馈到用户端,这些错误信息通常可用于调试的目的,从错误反馈信息中获取有用的信息,从而加以利用,突破网站安全。从错误反馈信息中获取有用的信息,从而加以利用,突破网站安全。当Web应用程序发生错误时,如果处理不得当,可能会把相关的错误信息反馈至客户浏览器。这种情况更多见于PHP+MySQL的Web应用,一些程序人员没有正确的做异常处理,当发生错误里,系统
11、向浏览器端返回了本来是用于调试目的的相关信息。这些信息往往可能含有重要的安全信息。例如:某个网站的MySQL停止了运行,而这时用户访问此网站时,发现网页提示如下信息:MySQLError:LostconnectiontoMySQLserverduringquery从这个回馈来看,用户请求的页所使用的数据库是MySQL!这无疑暴露是安全人员所不希望看到的。高明的入侵者,会尽可能的使其在页面浏览或提交时,使用不正当的数据或方法,以此期望页面产生错误回馈,从而利用这些信息完成入侵。从服务器角度,关闭调试信息回馈功能,并且善用异常处理功能,可以尽可能避免此类安全漏洞。索迪教育索迪教育 ITIT成就人生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BS 架构 体系 安全 渗透 测试 基础 课件
限制150内