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