手揣网教程/杀毒教程/内容

The Flash! attack

杀毒教程2024-09-28 阅读
[摘要]Macromedia Flash has its own built in scripting language. ActionScript[6] (the scripting language) ...

Macromedia Flash has its own built in scripting language. ActionScript[6] (the scripting language) seems very simple to seasoned JavaScript coders as it uses a very similar syntax to JavaScript, C and PERL. However this same language can be used for complex animations, simulations, creation of games etc.. What’s interesting for us is the getURL() action[7]. This function allows us to redirect the end user to another page. The parameter would usually be a URL; something like “http://eyeonsecurity.net”, so that the script looks like this: 



getURL(“http://eyeonsecurity.net”) 



Suppose we specify a java script: URL instead: 



getURL(“java script:alert(document.cookie)”) 



The above example pops up a JavaScript alert box with the cookie belonging to the domain hosting the page that displays the flash document. This means that we have successfully injected JavaScript by making use of “features” within Internet Explorer and Flash. In the example Flash file we insert script similar to the above in the first frame as shown in the screenshot. 








[Example sites and software vulnerable to the Flash! Attack] 


Ezboard (http://www.ezboard.com/) is probably one of the best well-known free online Bulletin Board Systems around. This BBS which is HTTP-based, allows its users to have their signatures in flash by making use of the EMBED tag. Therefore in our tests we edit our preferences and specify the following code in the signature: 



<embed 

src="http://eyeonsecurity.net/download/example.swf" 

pluginspage=”http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash” 

type="application/x-shockwave-flash" 

width="0" 

height="0" 



</embed> 



The below screenshot illustrates the idea better. 








This code will be added to each post the attacker submits on the Ezboard forum, allowing him to steal the user’s session cookie. 





DeviantART which is a very popular website, encourages it’s users to submit flash animations and creations to be viewed by other site members. Of course a malicious user with intent to steal user accounts and possibly administrative accounts, would create a new account, upload a malicious Flash file and wait for the results. No demonstration is available for this site. 



MSN Communities[8] – this site allows users to upload their own files … amongst the files we uploaded were SWF files, which in turn execute JavaScript code. This is a very obvious security flaw. In a previous paper[9] on EyeonSecurity, named “Microsoft Passport Account Hijack Attack”, we outline how a single flaw in an MSN or Passport network site creates a significant security problem. 



Anonymous services such as Anonymizer[10] and The-Cloak[11], are also vulnerable to this attack. These services try to filter out JavaScript from HTML pages, however fail to recognize the attack described here at the time of writing. Meaning that web master linking (or redirecting) its users to an SWF file can bypass the restrictions set up by these services. 



Two specific Forum (BBS) software, which are particularly vulnerable to this attack, are Ikonboard and YaBB[12]. These particular forums allow only specific custom tags which are then parsed by the Web Application to produce the end result. However these forums allow flash animations to be embedded within the page by using the [flash] special tag, which is converted to the correct Object tag. 



Example 



http://eyeonsecurity.net/download/example.swf 



The above would be interpreted by the script and transformed to: 



<object 

classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 

width=200 

height=200> 

<param 

name=movie 

value=http://eyeonsecurity.net/download/example.swf> 

<param 

name=play 

value=true> 

<param 

name=loop 

value=true> 

<param name=quality 

value=high> 

<embed 

src=http://eyeonsecurity.net/download/example.swf 

width=200 

height=200 

play=true 

loop=true 

quality=high> 

</embed> 

</object> 

Of course these specific examples are not the only vulnerable systems around. Any online service, which allows Flash content to be inserted is vulnerable to XSS attacks. The vendors and services described in this section have been notified of the flaw before this document has been made public. This means that the specific examples outlined in this section might have been fixed when you are reading this. 

[Fixing the issue] 

Simple solution: DO NOT ALLOW FLASH FILES IN YOUR WEB APP. 

However in most cases, the solution is not that simple. Consider the case for deviantART for example. Flash animations 
网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。

……

相关阅读