XSRF测试题

这个是一个测试 xsrf 的测试题,具体实现思想可能猥琐。看看谁能想到和我一样猥琐的方案。

网络环境

现在的场景是A站点和B站点,假设A站是新浪,B站是我们控制的站,
所以B站的后端代码随便该。A站的话,参考新浪主页。


想干啥

我们发现了个新浪主页的XSS漏洞,就是能注入我们的 script 进去,用户打开特定网址后,就运行我们的 script ,我们就能获取一堆信息,现在想把信息发送回来。信息可能非常非常的大,大于 GET 方式能处理的长度。


B站的环境

目前已经有一个 get 和 post 方式共用的 api。
例如 get 方式的,

1
$.get("api.html", { name: "John"} );

或者 post 方式的

1
$.post("api.html", { name: "John"} );

然后这两种方式,任意一中,就能把 { name: “John”} 这个信息发送回 B站 进行存储了。
B站已经进行了任何的跨域请求,例如 Access-Control-Allow-Origin, p3p等等。


A站的环境

A站环境未知,也可以说是任意,但是我们有办法在 A站 的页面注入我们的 script


不能使用的解决方式

不能使用 flash


任务:要做什么

任务1,不改变现有接口的前提下,实现

  1. 解决 chrome 现代浏览器该怎么发送数据。
  2. 解决了 上面的,那就开始解决 低版本 IE 了。要求兼容 IE6 ,比较变态,但是这个业务不能忽略 IE6 等。(用代码体现)
    提示:跨域,HTTP状态,实现方式能多猥琐就多猥琐。

任务二,躺床上,想一种更好的方法,也不能用 flash。不用写代码,说说思路,这个时候能任意改 B站 API。