到目前为止,对于跨站点脚本攻击具有很大的威胁这一点大家并无异议
假如您很精通 XSS 并且只想看看有什么好的测试方法可供借鉴,那么请直接跳到本文的测试局部
假如您对此一无所知,请按顺序认真阅读
假如某个怀有恶意的人〔攻击者〕可以强迫某个不知情的用户〔受害者〕运行攻击者选择的客户端脚本,那么便会发生跨站点脚本攻击
“跨站点脚本〞这个词应该属于用词不当的情况,因为它不仅与脚本有关,而且它甚至不一定是跨站点的
所以,它就是一个在发现这种攻击时起的一个名字,并且一直沿用至今从现在开始,我们将使用它常见的缩写名称“XSS〞
XSS 攻击的过程涉与以下三方: • 攻击者 • 受害者 • 存在漏洞的〔攻击者可以使用它对受害者实行行动〕 在这三方之中,只有受害者会实际运行攻击者的代码
仅仅是发起攻击的一个载体,一般不会受到影响
可以用多种方式发起 XSS 攻击
例如,攻击者可通过电子、IM 或其他途径向受害者发送一个经过经心构造的恶意 URL
当受害者在 Web 浏览器中打开该 URL 的时侯,会显示一个页面并在受害者的计算机上执行脚本
XSS 漏洞是什么样的呢
作为一名 Web 开发人员或测试人员,您肯定知道 Web 应用程序的技术根底是由 HTTP 和 HTML 组成的
HTTP 协议是 HTML 的传输机制,可使用代码设计 Web 页面布局和生成页面
假如 Web 应用程序承受用户通过 HTTP 请求〔如 GET 或 POST〕提交的输入信息,然后使用输出 HTML 代码在某些地方显示这些信息,便可能存在 XSS 漏洞
下面是一个最简单的例子: 1
Web 请求如下所示: GET somesite
pageid=10&lang=en&title=Section%20Title 2
在发出请求后,服务器返回的 HTML 容包括: Section Titl