web应用安全

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课题背景Web应用安全概述常见WEB应用安全隐患常见WEB应用案例分析Web安全技术课题背景尽管不同的企业会有不同的Web环境搭建方式,一个典型的Web应用通常是标准的三层架构模型。由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web应用的攻击上。根据Gartner的最新调查,信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。然而现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web应用本身的安全,给黑客以可乘之机。Web攻击事件-篡改数据Web攻击事件-跨站攻击Web攻击事件-注入式攻击随着web的广泛应用,Internet中与web相关的安全事故正成为目前所有事故的主要组成部分,由图可见,与web安全有关的网页恶意代码和网站篡改事件占据了所有事件的大部分,web安全面临严重问题。形式越来越严重国家互联网应急响应中心,一度引起中央电视台媒体重点关注;引起国家司法机构大力整治。目的越来越利益从网站涂鸦到政府黑站;从到游戏币到职业资格证;网银大盗到网马频发。队伍越来越壮大地下黑客利益链门槛越来越低黑站工具随手可得;网站漏洞随处可见;黑客培训基地层出不穷web应用安全概况分析什么是WEB应用Web应用是由动态脚本、编译过的代码等组合而成。它通常架设在Web服务器上,用户在Web浏览器上发送请求,这些请求使用HTTP协议,经过因特网和企业的Web应用交互,由Web应用和企业后台的数据库及其他动态内容通信。Web组成部分在服务器结构中规定了服务器的传输设定,信息传输格式及服务器本身的基本开放结构客户端通常称为web浏览器,用于向服务器发送资源请求,并将受到的信息解码显示。HTTP是分布的web应用的核心技术协议,它定义了web浏览器向web服务器发送索取web页面请求的格式以及web页面在internet上的传输方式。WEB服务端安全常见的问题就是:SQL注入,文件上传,水平权限,系统命令执行等漏洞。服务端安全问题是服务端程序逻辑和服务端的HTTP服务器,应用服务器以及数据库服务器问题导致。WEB客户端安全常见的问题就是:XSS漏洞,CSRF漏洞,以及其他浏览器插件或者JavaApplet漏洞。客户端的问题,主要是浏览器的特性导致的,攻击的是WEB系统的用户。WEB安全分类XSS跨站CSRF网页挂马WebShellSQL注入拒绝服务钓鱼欺骗上传漏洞常见WEB应用安全隐患微博上的蠕虫2011年6月份,新浪微博出现了一次比较大的XSS攻击事件。大量用户自己发送诸如:“郭美美事件的一些未注意道德细节”“建党大业中穿帮的地方”、“这是传说中的神仙眷侣啊”等微博和私信,并自动关注以为名为hellosally的用户。微博用户中招后会自动向自己的粉丝发送含毒私信和微博,有人点击后会再次中毒,形成恶性循环。常见WEB应用案例分析XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。在XSS攻击中,一般有三个角色参与:攻击者、目标服务器、受害者的浏览器。跨站脚本(XSS)反射型XSS反射型XSS也被称为非持久性XSS,是现在最容易出现的一种XSS漏洞。XSS的Payload一般是写在URL中,之后设法让被害者点击这=scriptalert(/xss/)/script这个链接。存储型XSS存储型XSS又被称为持久性XSS,存储型XSS是最危险的一种跨站脚本。存储型XSS被服务器端接收并存储,当用户访问该网页时,这段XSS代码被读出来响应给浏览器。反射型XSS与DOM型XSS都必须依靠用户手动去触发,而存储型XSS却不需要。DOM的全称为DocumentObjectModel,即文档对象模型。基于DOM型的XSS是不需要与服务器交互的,它只发生在客户端处理数据阶段。简单理解DOMXSS就是出现在javascript代码中的xss漏洞。如果输入=scriptalert(/xss/)/script,就会产生XSS漏洞。这种利用也需要受害者点击链接来触发,DOM型XSS是前端代码中存在了漏洞,而反射型是后端代码中存在了漏洞。攻击流程示意图XSS的危害1.修改网页内容2.盗取各类用户账户,如支付宝账户、用户网银账户、各类管理员账户。3.非法转账4.强制发送电子邮件5.网站挂马6.重定向用户到其他的网页或者网站7.控制受害者机器向其他网站发起攻击相对SQL注入而言,跨站脚本安全问题和特点更复杂,这使得对跨站脚本漏洞的防范难度更大。跨站脚本问题与SQL注入漏洞类似,都是利用程序员编写脚本或页面过滤不足所导致010203跨站请求的防范对于用户可提交的信息要进行严格的过滤,防止跨站脚本漏洞的产生。跨站请求伪造CSRF02CSRF(Cross-SiteRequestForgery)即跨站请求伪造,通常缩写为CSRF或者XSRF,是一种对网站缺陷的恶意利用。诞生于2000年,火于2007/2008年。CSRF通过伪装来自受信任用户的请求来利用受信任的网站,通过社会工程学的手段(如通过电子邮件发送一个链接)来蛊惑受害者进行一些敏感性的操作,如修改密码、修改E-mail,转账等,而受害者还不知道他已经中招。WebA为存在CSRF漏洞的网站,WebB为攻击者构建的恶意网站,UserC为WebA网站的合法用户。CSRF的攻击原理1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;3.用户未退出网站A之前,在同一浏览器中,打开一个TAB页访网站B;4.网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;5.浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。CSRF攻击原理给攻击者提升权限越权执行危险操作增加管理员盗取用户银行卡/信用卡CSRF的主要危害增加验证码Cookie/session失效时间验证HTTP中Refer字段Token增加get/post请求的随机值CSRF的防御情景导入03通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。SQL注入原理SQL注入实例详解1、首先,创建一张实验用的数据表:CREATETABLEusers(`id`int(11)NOTNULLAUTO_INCREMENT,`username`varchar(64)NOTNULL,`password`varchar(64)NOTNULL,`email`varchar(64)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`username`(`username`))ENGINE=MyISAMAUTO_INCREMENT=3DEFAULTCHARSET=latin1;2、添加一条记录用于测试:INSERTINTOusers(username,password,email)VALUES('MarcoFly',md5('test'),'marcofly@test.com');3.当用户点击提交按钮的时候,将会把表单数据提交给validate.php页面,validate.php页面用来判断用户输入的用户名和密码有没有都符合要求(这一步至关重要,也往往是SQL漏洞所在)。4.填好正确的用户名(marcofly)和密码(test)后,点击提交,将会返回给我们“欢迎管理员”的界面。5.在用户名输入框中输入:’or1=1#,密码随便输入,这时候的合成后的SQL查询语句为:select*fromuserswhereusername=''or1=1#'andpassword=md5('')语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,换句话说,以下的两句sql语句等价:select*fromuserswhereusername=''or1=1#'andpassword=md5('')等价于select*fromuserswhereusername=''or1=1网页被恶意篡改在不经授权的情况下操作数据库中的数据私自添加操作系统账号和数据库成员账号010203SQL注入危害网页挂马钓鱼欺骗是一种诱骗用户披露他们的个人信息,窃取用户的银行资料的诈骗手段其他Web渗透攻击040506SQL注入危害网页挂马指的是把一个木马程序上传到一个网站里面然后用木马生成器生一个网马,再上到空间里面再加代码使得木马在打开网页时运行!攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。永远不要信任用户的输入对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双-进行转换等。永远不要使用动态拼装sql可以使用参数化的sql或者直接使用存储过程进行数据查询存取。永远不要使用管理员权限的数据库连接为每个应用使用单独的权限有限的数据库连接。SQL的防范措施情景导入0411年的时候,当当网()存在一个公开的HTTP接口myaddress.aspx。此接口根据接收的参数addressid来返回json对/值形式的消费者收货地址数据,然后在前端页面上由Javascript解析进行输出。这是一个很多同类电子商务类网站都会用到的一个普通功能。在漏洞报告中,测试人员利用传入参数的可遍历性(识别不同用户的整型参数addressid),通过改变输入不同的addressid参数,并且利用自动化脚本或者工具进Fuzzing暴力测试,顺利的遍历输出其他用户的个人信息及隐私。这是一个典型的越权访问案例。修复方案也非常简单,在WebServer上对HttpRequest请求和当前的用户身份进行校验。28%39%33%越权访问存在形式1.非法用户的越权访问2.合法用户的越权访问什么是越权访问?越权访问(BrokenAccessControl,简称BAC),顾名思义即是跨越权限访问,是一种在web程序中常见的安全缺陷越权访问的原理是对用户提交的参数不进行权限检查和跨域访问限制而造成的。越权访问01web服务器安全技术web应用服务安全技术web浏览器安全技术0203web服务器安全技术Web防护课通过多种手段实现,这主要包括:安全配置web服务器、网页防篡改技术、反向代理技术、蜜罐技术。安全配置web服务器充分利用web服务器本身拥有的如主目录权限设定、用户访问控制、ip地址许可等安全机制,进行合理的有效的配置,确保web服务的访问安全。网页防篡改技术将网页监控与恢复结合在一起,通过对网站进行实时监控,主动发现网页页面内容是否被非法改动,一旦被非法篡改,可立即恢复被篡改的网页。蜜罐技术蜜罐系统通过模拟web服务器的行为,可以判别访问是否对应用服务器及后台后台数据库系统有害,能有效地防范各种已知及未知的攻击行为。对于通常的网站或邮件服务器,攻击流量通常会被合法流量所淹没。而蜜罐进出的数据大部

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功