您好,欢迎访问三七文档
WEB安全目录Web安全的兴起Web安全风险的表现为什么会产什么web安全风险常见的web安全攻击技术web安全防御技术Web安全的兴起在早期的互联网中,web并非主流的互联网应用,相对来说,基于SMTP、POP3、FTP、IRC等协议的用户拥有绝大多数用户,因此黑客们攻击的主要目标是网络、操作系统以及软件等领域,web安全淋雨的攻击预防与技术均处于非常原始的阶段。随着时代的发展,运营商和防火墙对网络的封锁使得暴漏在网络上的非web服务越来越少,且web技术的成熟使得web应用的功能越来越强大,最终成为互联网的主流,而黑客的目光也逐渐转移到web这块蛋糕上,随之而来的就是web安全的问题。Web安全的兴起在web1.0时代,人们更多的是关注服务器端动态脚本的安全问题,比如将一个可执行脚本上传到服务器上,从而获得权限,动态脚本的普及以及web技术发展初期对安全问题的认知不足导致很多“血案”的发生,同时也遗留下很多历史问题,比如PHP语言至今仍然只能靠较好的二代码规范来保证没有文件包含漏洞,而无法从语言本身杜绝此类问题的发生。Web安全的兴起伴随着,web2.0的兴起,XSS、CSRF(跨站点请求伪造)等攻击已经变得更为强大,web攻击的思路也从服务器端转向了客户端,转向了浏览器和用户。“魔高一尺道高一丈”,互联网发展到今天对web安全的要求也是越来越高,越来越复杂。Web安全的兴起SQL注入的出现是web安全史上的一个重要里程碑,它最早的出现是在1999年,并且很快成为web安全的头号大敌,如同缓冲区溢出出现时一样,程序员们不得不夜以继日的去修改程序中存在的漏洞,黑客们发现通过SQL注入攻击,可以获取更多的重要敏感数据,甚至能够通过数据库获取系统访问权限,这种效果并不比直接攻击系统软件差,web攻击一下子就流行起来。XSS(跨站脚本攻击)的出现则是web安全史上的另外一个里程碑,实际上XSS出现时和SQL注入差不多,真正引起人们重视则是在03年以后,在经历了MySpace的XSS蠕虫事件后,XSS的重视程度提高了很多。Web安全的定义web安全定义:黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。什么是web安全风险呢?某银行网站篡改敏感数据泄密泄密企业敏感信息泄密“广告联盟”放置“黑链”钓鱼网站真正的中国工商银行网站泄密门百度被黑百度被黑•背景:5小时无法提供任何互联网服务•漏洞:DNS服务器被劫持•影响:国内最大互联网企业也在劫难逃!铁路订票网站17为什么会发生Web安全风险?Web安全风险分析要保护Web服务,先要了解Web系统架构,下图是Web服务的一般性结构图,适用于互联网上的网站,也适用于企业内网上的Web应用架构:Web安全风险分析Web安全风险分析用户使用通用的Web浏览器,通过接入网络(网站的接入则是互联网)连接到Web服务器上。用户发出请求,服务器根据请求的URL的地址连接,找到对应的网页文件,发送给用户,两者对话的“官方语言”是Http。网页文件是用文本描述的,HTML/Xml格式,在用户浏览器中有个解释器,把这些文本描述的页面恢复成图文并茂、有声有影的可视页面。Web安全风险分析通常情况下,用户要访问的页面都存在Web服务器的某个固定目录下,是一些.html或.xml文件,用户通过页面上的“超连接”(其实就是URL地址)可以在网站页面之间“跳跃”,这就是静态的网页。后来人们觉得这种方式只能单向地给用户展示信息,信息发布还可以,但让用户做一些比如身份认证、投票选举之类的事情就比较麻烦,由此产生了动态网页的概念;所谓动态就是利用flash、Php、asp、Java等技术在网页中嵌入一些可运行的“小程序”,用户浏览器在解释页面时,看到这些小程序就启动运行它。Web安全风险分析这些“小程序”可以嵌入在页面中,也可以以文件的形式单独存放在Web服务器的目录里,如.asp、.php、jsp文件等,并且可以在开发时指定是在用户端运行,还是在服务器端运行;用户不再能看到这些小程序的源代码,服务的安全性也大大提高。这样功能性的小程序越来越多,形成常用的工具包,单独管理,Web业务开发时,直接使用就可以了,这就是中间件服务器,它实际上是Web服务器处理能力的扩展。Web安全风险分析静态网页与“小程序”都是事前设计好的,一般不经常改动,但网站上很多内容需要经常的更新,如新闻、博客文章、互动游戏等,这些变动的数据放在静态的程序中显然不适合,传统的办法是数据与程序分离,采用专业的数据库。Web开发者在Web服务器后边增加了一个数据库服务器,这些经常变化的数据存进数据库,可以随时更新。Web安全风险分析除了应用数据需要变化,用户的一些状态信息、属性信息也需要临时记录(因为每个用户都是不同的),而Web服务器本来是不记录这些信息的,只管答复你的要求,“人一走茶就凉了”。后来Web技术为了“友好”互动,需要“记住”用户的访问信息,建立了一些“新”的通讯机制:◆Cookie:把一些用户的参数,如帐户名、口令等信息存放在客户端的硬盘临时文件中,用户再次访问这个网站时,参数也一同送给服务器,服务器就知道你就是上次来的那个“家伙”了◆Session:把用户的一些参数信息存在服务器的内存中,或写在服务器的硬盘文件中,用户是不可见的,这样用户用不同电脑访问时的贵宾待遇就同样了,Web服务器总能记住你的“样子”,一般情况下,Cookie与Session可以结合使用Cookie在用户端,一般采用加密方式存放就可以了;Session在服务器端,信息集中,被篡改问题将很严重,所以一般放在内存里管理,尽量不存放在硬盘上。Web安全风险分析Web服务器上有两种服务用数据要保证“清白”,一是页面文件(.html、.xml等),这里包括动态程序文件(.php、.asp、.jsp等),一般存在Web服务器的特定目录中,或是中间间服务器上;二是后台的数据库,如Oracle、SQLServer等,其中存放的数据的动态网页生成时需要的,也有业务管理数据、经营数据。典型网络攻击示例 黑客发现某web应用程序登陆界面,单击login尝试登陆系统提示需要输入有效用户名典型网络攻击示例 黑客尝试猜测有效用户名系统提示需要输入正确口令典型网络攻击示例 黑客采用单引号‘作为口令尝试登陆后台数据库报错,通过分析可知数据库查询命令为:SQL查询=SELECTUsernameFROMUsersWHEREUsername=‘donald’ANDPassword=‘‘’典型网络攻击示例 系统反馈不存在名为dan的用户,标明后台查询语句为SQL查询=“SELECTUsernameFROMUsersWHEREUsername=‘dan’––后面所有的字符被作为注释对待口令有效性验证被旁路黑客尝试使用dan’—作为用户名登陆典型网络攻击示例 黑客尝试使用admin’—作为用户名登陆即猜测存在名为admin的管理员用户成功登陆系统,黑客可以随意读取邮件、下载文件等操作。序号内容说明1跨站脚本漏洞Web应用程序直接将来自使用者的执行请求送回浏览器执行,使得攻击者可获取使用者的Cookie或Session信息而直接以使用者身份登陆2注入类问题Web应用程序执行在将用户输入变为命令或查询语句的一部分时没有做过滤,SQL注入,命令注入等攻击包括在内3任意文件执行Web应用程序引入来自外部的恶意文件并执行4不安全的对象直接引用攻击者利用Web应用程序本身的文件操作功能读取系统上任意文件或重要资料5跨站请求截断攻击已登入Web应用程序的合法使用者执行恶意的HTTP指令,但Web应用程式却当成合法需求处理,使得恶意指令被正常执行6信息泄露Web应用程序的执行错误信息中包含敏感资料,可能包括系统文件路径,内部IP地址等7用户验证和Session管理缺陷Web应用程序中自行撰写的身份验证相关功能有缺陷8不安全的加密存储Web应用程序没有对敏感性资料使用加密、使用较弱的加密演算法或将密钥储存于容易被获取之处9不安全的通信Web应用经常在需要传输敏感信息时没有使用加密协议10没有对URL路径进行限制某些网页因为没有权限控制,使得攻击者可透过网址直接存取WEB面临的安全威胁TOP105/28/2020常见的web攻击方式5/28/2020SQL注入(SQLinjection)跨站脚本攻击恶意代码已知弱点和错误配置隐藏字段后门和调试漏洞参数篡改更改cookie输入信息控制缓冲区溢出十大常见的WEB应用攻击5/28/2020SQL注入技术概述就攻击技术本质而言,它利用的工具是SQL的语法,针对的是应用程序开发者编程中的漏洞,当攻击者能操作数据,向应用程序中插入一些SQL语句时,SQLInjection攻击就发生了。实际上,SQLInjection攻击是存在于常见的多连接的应用程序中的一种漏洞,攻击者通过在应用程序预先定义好的SQL语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询,篡改和命令执行。就风险而言,SQLInjection攻击也是位居前列,和缓冲区溢出漏洞相比,其优势在于能够轻易的绕过防火墙直接访问数据库,甚至能够获得数据库所在的服务器的系统权限。在Web应用漏洞中,SQLInjection漏洞的风险要高过其他所有的漏洞。安全风险5/28/2020攻击特点攻击的广泛性:由于其利用的是SQL语法,使得攻击普遍存在;攻击代码的多样性:由于各种数据库软件及应用程序有其自身的特点,实际的攻击代码可能不尽相同;影响范围数据库:MS-SqlServer、Oracle、Mysql、DB2、Informix等所有基于SQL语言标准的数据库软件;应用程序:ASP、PHP,JSP、CGI、CFM等所有应用程序;5/28/2020跨站脚本-介绍跨站脚本漏洞产生原理由于WEB应用程序没有对用户的输入和输出进行严格的过滤和转换,就导致在返回页面中可能嵌入恶意代码。什么是跨站脚本攻击XSS又叫CSS(CrossSiteScript),跨站脚本攻击。它指的是恶意攻击者往WEB页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。跨站脚本执行漏洞的攻击效果需要借助第三方网站来显现,因此这种攻击能在一定程度上隐藏身份。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。5/28/2020跨站脚本攻击传播途径EMAILIM聊天室留言板论坛交互性平台5/28/2020跨站攻击的危害窃取Cookie劫持帐户执行ActiveX执行Flash内容强迫您下载软件对硬盘和数据采取操作……跨站脚本-介绍现在让我们通过具体的例子来看看XSS攻击是如何发生的,假设现在有一个招聘网站,它提供在该网站已注册的用户发布招聘信息和发送招聘信息到注册用户的功能。通过该网站的发布招聘信息功能,我们把招聘信息发送到该网站的服务器中,然后服务器会把信息发送到注册用户中,这样我们就实现了发布信息的目的了,然而当一些不怀好意好意的用户他们很可能利用该网站存在的漏洞对用户进行攻击。不怀好意好意的用户会把恶意代码,如:JavaScript,VBScript,ActiveX,HTML或Flash等,把它们嵌入到发布的信息中去,然后发送到服务器中,如果服务器没有很好的校验信息,直接把信息转发到用户,这将导致一场XSS攻击灾难。跨站点请求伪造(CSFR)跨站点请求伪造(CSFR)CSRF,全称Cross-siterequestforgery,中文翻译成跨站请求伪造。利用这个漏洞,攻击者假冒正常的用户,以用户的名义发送恶意请求。这些请求可能是发送邮件,发帖留言,盗
本文标题:web安全
链接地址:https://www.777doc.com/doc-5594199 .html