Web安全之——XSS手动跨站点脚本编制

简介: 跨站点脚本编制可能是一个危险的安全性问题,在设计安全的基于 Web 的应用程序时应该考虑这一点。本文中,Paul 描述了这种问题的本质、它是如何起作用的,并概述了一些推荐的修正策略。

当今的大多数网站都对 Web 页面添加了动态内容,从而使用户能获得更愉快的体验。动态内容是由某些服务器进程生成的内容,它可以根据用户的设置和需要在提交时表现出不同的行为和产生不同的显示。动态网站存在着一个称为“跨站点脚本编制”(也称为“XSS”)的威胁,而这是静态网站所没有的。

“一个网页可以包含由服务器生成的、并且由客户机浏览器解释的文本和 HTML 标记。只生成静态页面的网站能完全控制浏览器用户如何解释这些页面。而生成动态页面的网站不能完全控制客户机如何解释其输出。问题的核心是,如果不可信的内容被引入到动态页面中,则无论是网站还是客户机都没有足够的信息识别这种情况的发生并采取保护措施,”― CERT 协调中心(CERT Coordination Center)如是说。该中心是由联邦政府资助的研究开发中心,研究因特网安全性弱点并提供事件响应。

跨站点脚本编制正不断受到攻击者的广泛青睐,因为在网站上很容易找到这种安全性问题。商业站点上每月都会发现跨站点脚本编制的攻击,并且每月都会发布解释这种威胁的报告。如果不加注意,则您网站的安全运行的能力以及您公司的声誉都可能成为这些攻击的牺牲品。

编写本文的目的是使大家对这一新出现的威胁引起注意,并为 Web 应用程序避免这种攻击提供解决方案实现。

跨站点脚本编制的威胁

跨站点脚本编制将服务器应用程序置于危险之中,这些危险包括(但不限于)以下几种情况:

  • 当用户查看基于攻击者提供的内容而动态生成的页面时,他们会不知不觉地执行恶意脚本。
  • 在用户的会话 cookie 失效之前,攻击者就能接管用户会话。
  • 攻击者可以将用户连接到攻击者选择的恶意服务器上。
  • 攻击者诱导用户访问由攻击者提供的 URL,从而导致在用户的浏览器中执行攻击者选择的脚本或 HTML。通过使用这种技术,攻击者可以使用访问过此 URL 的用户的特权来采取行动,诸如对底层 SQL 数据库发出查询并查看其结果,以及使用目标系统上已知的有问题的实现。 

 


发动攻击

当攻击者知道某一网站上的应用程序易受跨站点脚本编制攻击后,他就可以规划攻击。攻击者最常用的技术是使用受害者的特权在受害者的系统上插入 JavaScript、VBScript、ActiveX、HTML 或 Flash 并执行。一旦激活了攻击,就可能发生从截获帐户、更改用户设置、窃取和篡改 cookie 到虚假广告在内的任何事情。


 1.fiddler操作,并记录正常请求

2.拖到Composer修改搜索框内容

&keyWord=werw<STYLE>@import"javascript:alert(3559)";</STYLE>&departmentId=

描述: 将参数/cookie 值设置为:<STYLE>@import"javascript:alert(__VAR_ID__)";</STYLE>

差异:
以下更改已应用到原始请求:
已将参数“keyWord”的值设置为“werw<STYLE>@import"javascript:alert(3559)";</STYLE>”

推理:
测试结果似乎指示存在脆弱性,在响应中成功嵌入了脚本,在用户浏览器中装入页面时将执行该脚本。

 

posted @ 2018-10-26 15:45  白灰  阅读(327)  评论(0)    收藏  举报