《白帽子讲web安全笔记-3.2.6.4 window.name进行xss跨站攻击的妙用》
目的:
利用window.name可以:
- 跨域传送数据
- 执行任意长度javascript代码
方法:
如果你是攻击者,你需要有一个自己的web服务器和域名,可以在上面发布网页。然后你写一个包含恶意js代码的页面,代码如下:
<script>
window.name="alert(document.cookie)";
location.href = "http://127.0.0.1/vulnerabilities/xss_r/?name=%3Cscript%3Eeval%28name%29%3C%2Fscript%3E#";
</script>
其中,windows.name可以放入任意长度的javascript代码,location.href是存在xss的目标网页。假设上面的上面的页面部署到你的web服务器后的访问链接是http://www.yoursite.com/page1.htm,那么你可以诱导受害者点击这个链接,将会跳转到location.href页面,并执行window.name里面的代码。
假设受害者正在访问存在xss的页面,然后他点击http://www.yoursite.com/page1.htm了,那么window.name包含的恶意代码将会执行。
攻击者也可以以图片隐藏链接的形式诱导受害者点击,点击图片后将会发出对page1.htm的get请求。