【web安全】Xss Exploits and Defense翻译1

SYNGRESS的《Xss Exploits and Defense》这本书还不错,可是没有找到中文版,在学习过程当中就大概翻译了一下。html

 

XSS***和防护

 

第一章:跨站脚本基本原理

本章主要内容: vue

跨站脚本的历史 web

Web应用程序安全 数据库

XMLAJAX介绍 浏览器

ü 总结 安全

ü 快速回顾 服务器

ü 常见问答cookie

绪论

跨站点脚本漏洞能够追溯到1996年在世界初期万维网(WEB)。一时间,当电子商务开始起飞,就成了网景、雅虎和那些使人生厌的闪烁的标记(HTML标记)的泡沫时代。当成千上万的网页正在建设中,充斥着用超文本标记语言(HTML)结构创建的“酷”网站。Javascript程序语言应运而生,跨站脚本的一个未知预兆,永远改变了web应用程序安全的景观。Javascript使得web开发人员能够建立交互式的网页效果包括图像翻转,浮动菜单和弹出式窗口。对于如今不起眼的异步JavascriptXMLAJAX)应用程序标准,***很快发现一个新的未开发世界的可能性。 网络

***们发现当不知情的用户访问他们的网页,他们能够在同一个浏览器窗口中强行装入一个HTML框架的任何网站(银行,拍卖,商店,web邮件等等)。 框架

而后使用Javascript,他们能够跨越两个网站的边界,从一个页面访问另外一个页面。他们能够窃取用户输入在HTML表单里的用户名和密码,盗取cookie和威胁到任何在屏幕上出现的机密信息。媒体将这些问题报道为浏览器漏洞。网景通信,占主导地位的浏览器供应商,为了对应这种状况,实现了“同源策略”,限制Javascript不能从一个网页到另外一个网页获取数据。浏览器***将这个做为挑战,而后开始挖掘各类聪明的方法来规避这个限制。

199912月,David Ross在微软的Internet Explorer安全响应工做。他受到在当时发现Internet explorer's 安全模型威胁的Georgi Gununski的启发。他指出web内容会暴露“脚本注入”有效地绕过GeorgiInternet Explorer代码缺陷,可是这个错误彷佛存在服务端而不是客户端代码。David在微软内部文档中将这个描述为“脚本注入”。这个文档描述的问题,是它如何利用,如何***能够持续使用cookieXSS如何工做,和输入/输出过滤解决方法。

最终这个概念被CERT机构所共享。目的就在于让公众也知道,让这个问题以负责的方式被揭露,而后网站能够被修复,不只仅是微软,而是整个行业。跨组织团队在一月中旬的讨论最终从如下名称中选择了“Cross Site Scripting”这个名称:

Unauthorized Site Scripting

Unofcial Site Scripting

Uniform Resource Locator (URL) Parameter Script Insertion

Cross-site Scripting

Synthesized Scripting

Fraudulent Scripting

2000125日,微软和CERT,不少厂商(例如:Apache等)还有一些感兴趣的组织在Bellevue的一个酒店讨论这个XSS这个概念。

DavidIvan BrugioloJohn CoatesMichael Roe的帮助下,重写了那份微软内部文档,让它成为适合公众的版本。在CERT的协调下,微软在200022日发布了这个文档和其余材料。在过去几年里,在Microsoft.com网站这份文档有时候被移除了,可是不会在互联网消失。如今能够在下面网站被找到:

http://ha.ckers.org/cross-site-scripting.html 。

同个时间,***在能够提交HTML/JavascriptHTML页面,留言簿,邮件服务商提交脚原本影响用户。这就是有时候被叫作HTML注入的来源。***建立一个JavaScript的恶意软件(malware)的基本形式,他们将HTML表单提交改变屏幕上的名字,欺骗贬义的消息,窃取cookie,调整网页的颜色,宣告病毒推出的警告,和其余隐约恶意的数字恶做剧。不久后,出现另外一种***的变种。利用社会工程学,诱导用户点击带有恶意代码的连接能够达到跟HTML注入同样的结果。Web用户除了禁止Javascript的运行,没有其余防护的手段。

历年来,最先为认为是跨站脚本开始变成浏览器的一个简单未知名漏洞。HTML注入和恶意连接就是如今指的跨站脚本的变种,分别是持久性和非持久性的跨站脚本。不幸的是,这就是不少人被混乱的术语搞糊涂的一个重要缘由。更糟糕的是,“CSS”的缩写和另外一个新生的浏览器技术“Cascading Style Sheets”的缩写同样,因此常常混淆。终于在2000年初,一个聪明的人建议将CSS的缩写改成XSS来避免混淆。最后,XSS的名称被定下来。不少新的白皮书和大量的漏洞公告描述跨站脚本的影响充斥着网络。可是不多人去关注。

2005年以前,绝大多数的安全专家和开发者不多关注XSS漏洞。他们关注的是缓冲区溢出,僵尸网络,病毒,蠕虫,间谍软件等等。以此同时,全球每个月有百万的新的web服务器开始用SSL保护他们的服务器。大多数人认为能够致使XSS漏洞的Javascript是一个玩具变成语言。有一些论调,”它不能***操做系统或者***数据库,我为何要在意呢?就点击一个连接或者浏览一个网页会能多危险呢?“。200510月,咱们获得了答案。一晚上之间,Samy蠕虫病毒,第一个严重的XSS蠕虫将流行的社交网站MySpace搞摊了。这个***脚本的有效载荷相对良性,Samy蠕虫从一个单一的MySpace用户的我的资料页传播到另外一个,最后在24小时内感染了超过一百万的用户。忽然间,整个安全界清醒了,开始了爆炸式的研究Javascript的恶意脚本。

短短几个月后,在2006年年初,JavaScript的端口扫描器,局域网***,击键记录器,***,浏览器历史记录盗取到达了一个彷佛不会中止的景象。数百个XSS漏洞被大网站修复关闭,同时罪犯(***或者***者)开始结合钓鱼欺骗实施更有效的***。使人吃惊的是,由于根据白帽安全组织的统计,超过70%的网站是脆弱的,存在漏洞的。CVE组织声称说XSS***已经超过缓冲区溢出,成为发现最多的漏洞。能够说,XSS漏洞表明做为信息安全和在线商业所面临的最潜在的破坏性漏洞。现今,当人们被问到是否据说过XSS,几乎每一个人都会举手表示据说过。

相关文章
相关标签/搜索