Pergunta

Quero permitir que meus usuários incorporem suas próprias animações em Flash em suas postagens.Normalmente, o arquivo real está hospedado em algum site gratuito de hospedagem de imagens.Na verdade, eu não carregaria o flash a menos que o usuário clicasse em um botão para reproduzir (para que nada seja reproduzido automaticamente no carregamento da página).Eu sei que as pessoas podem fazer algumas porcarias realmente irritantes em flash, mas não consigo encontrar nenhuma informação sobre possíveis sério danos que um aplicativo flash pode causar ao visualizador.

Não é seguro incorporar qualquer arquivo flash da Internet?Em caso afirmativo, como posso permitir que os usuários incorporem animações inocentes, mas ainda assim impedir a entrada de aplicativos prejudiciais?

editar:

Pelo que pude perceber, a ameaça mais óbvia é o actionscript redirecionar você para um site malicioso.

Adobe diz você pode definir permitirScriptAccess=nunca e permitirNetworking=nenhum e o swf não deve ter acesso a nada fora dele. Isso resolverá todos os meus problemas?

Foi útil?

Solução 5

Adobe diz que você pode definir permitirScriptAccess=nunca e permitirRede=none e o swf não deve ter acesso a nada fora dele.Embora o AllowNetworking esteja apenas no Flash Player 9, os usuários com versões anteriores do Flash ainda estariam suscetíveis a algumas explorações.

Criando aplicativos da web SWF mais seguros:Controles de segurança dentro do código HTML

Como restringir o conteúdo SWF do HTML

Outras dicas

O Flash possui algumas medidas de segurança interessantes.Permitir que os usuários carreguem swfs em seu site e incorporá-los não é seguro, você está basicamente se preparando para um ataque XSS.

No entanto, permitir que eles façam hotlink não deve ser um problema.O swf será bloqueado para o domínio que o hospeda e não será permitido chamar URLs fora desse espaço.

Ele ainda estará aberto a "links malignos" (tenho certeza de que existe uma palavra adequada para eles), e com isso quero dizer ter links regulares para yoursite.com/admin/deleteallpages.php que tenta carregar "como" você .No entanto, ele não será capaz de usar esses dados de forma alguma, será basicamente o mesmo que um link normal, e eu acho que os cms modernos estão protegidos contra esse tipo de ataques.

Você pode obter a mesma proteção hospedando seus flashes em um subdomínio diferente, já que o flash considera isso igual a um domínio completamente diferente.

Ao incorporar SWFs de fontes desconhecidas, também é uma prática recomendada colocar uma máscara no Loader para que o SWF carregado não possa ocupar mais espaço na tela do que o esperado.

Pseudocódigo para fazer isso:

var maskSpr : Sprite = new Sprite();
maskSpr.graphics.beginFill();
maskSpr.graphics.drawRect(0,0,safeWidth,safeHeight);
maskSpr.graphics.endFill();
myLdr.mask = maskSpr;

Na verdade, existe mais de uma opção.

Para estar totalmente seguro, defina AllowScriptAccess=never e AllowNetworking=none e o swf não terá acesso a nada fora dele.

OBSERVAÇÃO:allowNetworking está apenas no Flash Player 9 (foi criado em resposta a vários worms do myspace), então você precisará usar Objeto SWF para garantir que apenas usuários com a versão correta do flash player ou melhor tenham o flash carregado.

Porém, se você deseja ativar coisas como vídeos do YouTube, não pode definir permitNetworking como "none".Felizmente, existe um nível intermediário de segurança para este campo – “interno”, que permite que o SWF se comunique com seu domínio hospedado.

Observe também que é melhor você não ter um arquivo crossdomain.xml em seu site - leia mais sobre esses perigos aqui e outros lugares.

Aqui estão alguns outros sites mencionados por outras respostas com mais detalhes:

http://www.adobe.com/devnet/flashplayer/articles/secure_swf_apps_04.html

http://blogs.adobe.com/stateofsecurity/2007/07/how_to_restrict_swf_content_fr_1.html

Como um exemplo Drupal tem um cenário de como permitir conteúdo flash dos usuários pode ser uma preocupação de segurança.

Sim, não é seguro.

Não há maneira fácil de permitir isso.Você poderia ter uma lista de permissões de domínio que permitisse YouTube, Hulu, etc.completamente, mas a lista de permissões é inerentemente meticulosa - você estaria constantemente atualizando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top