Reino: Input Validation and Representation

Problemas de validação e representação da entrada são causados por metacaracteres, codificações alternativas e representações numéricas. Confiar na entrada resulta em problemas de segurança. Os problemas incluem: “Buffer Overflows”, ataques de “Cross-Site Scripting”, “SQL Injection”, entre outros.

Cross-Site Flashing

Abstract
O programa usa uma entrada de usuário não validada para carregar um arquivo SWF, o que pode fazer com que um conteúdo arbitrário seja referenciado e possivelmente executado pelo aplicativo Flash intencionado.
Explanation
APIs Flash fornecem uma interface para carregar arquivos SWF remotos no ambiente de execução existente. Mesmo que a política entre domínios definida só permita o carregamento de arquivos SWF a partir de uma lista de domínios confiáveis, na maioria dos casos, ela é excessivamente permissiva. Permitir que uma entrada de usuário não confiável defina quais arquivos SWF devem ser carregados pode fazer com que um conteúdo arbitrário seja referenciado e possivelmente executado pelo aplicativo intencionado, resultando em um ataque de criação de flash entre sites.

Vulnerabilidades de criação de flash entre sites ocorrem quando:

1. Os dados entram no aplicativo por uma fonte não confiável.

2. Os dados são usados para carregar um arquivo SWF remoto.
Exemplo: O código a seguir usa o valor de um dos parâmetros para o arquivo SWF carregado como a URL a partir da qual carregar um arquivo SWF remoto.


...
var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
var url:String = String(params["url"]);
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
...
References
[1] Peleus Uhley Creating more secure SWF web applications
[2] Matt Wood and Prajakta Jagdale Auditing Adobe Flash through Static Analysis
desc.dataflow.actionscript.cross_site_flashing