2012-01-17 55 views
0

我是一名渗透测试人员,我刚刚在我们正在测试的网站上发现了一个缺陷,即嵌入的视频的网址未被检查,因此我可以嵌入非现场内容。但问题是,首先调用页面本身,然后在第二个请求中调用嵌入的视频。因此,这不能通过单一链接发送给受害者,因此这个漏洞的后果目前非常轻微。尽管整个网站都存在XSS问题,所以我想知道是否可以注入一些JavaScript来为我做这件事,即先调用页面然后再调用我的非现场视频。可能打开一个页面并使用JavaScript发出后续GET请求?

我会使用window.location打开第一页,但那么我将如何去发出GET请求来调用视频?

我找到了一些示例代码并对其进行了调整,并试图让它在本地工作,但目前为止没有运气。

<script> 
function httpGet(theUrl) 
{ 
var xmlHttp = null; 

xmlHttp = new XMLHttpRequest(); 
xmlHttp.open("GET", theUrl, false); 
xmlHttp.send(null); 
return xmlHttp.responseText; 
} 

window.location = "http://www.thesite.com/vulnerablepage.htm"; 
httpGet("http://www.moviesite.com/embeddedvid.swf"); 
</script> 

请问这个或者类似的东西有用吗?该网站是现场直播的,所以我无法对此做任何试验,否则我只会使用试验和错误来发现有用的东西。任何帮助深表感谢!谢谢

+0

'return xmlHttp.responseText;'你如何期待这会伤害受害者网站? (并且请记住,xhr很可能会被中止,因为浏览器正在从称为xhr的页面导航) – c69 2012-01-17 15:38:28

+0

我对所有的诚实问题表示歉意,我只是用一个拦截代理尝试了原始代码,并且看到它是提出请求,所以我认为这是我需要的。我看到现在以不需要的字符串形式返回响应数据!谢谢 – Jingo 2012-01-17 15:45:28

回答

1

脚本(通过XSS攻击植入的恶意脚本)可能会创建一个元素,将您的页面放入其中,然后启动视频。只要框架中的页面和攻击有效载荷(脚本)触发的外部页面都在同一个域中,就可能(而且非常容易)。

+0

感谢您的快速响应。然而,当调用iframe时,我是否需要一些JS来编辑调用什么视频?因为我想用我的非现场视频取代合法的视频。 – Jingo 2012-01-17 15:42:45

+0

在外部(包含)页面中运行的恶意JavaScript代码在加载时将完全访问“