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.

Frame Spoofing

Abstract
Aceitar dados fornecidos pelo usuário como a URL de origem de apex:iframe pode fazer com que conteúdo mal-intencionado seja carregado na página do Visualforce.
Explanation
Vulnerabilidades de falsificação de quadros ocorrem quando:

1. Dados entram em um aplicativo Web através de uma fonte não confiável.

2. Os dados são usados como uma URL de iframe sem serem validados.

Dessa forma, um invasor pode ser capaz de controlar o que é renderizado no quadro embutido. Modificando a URL do quadro de forma que ela aponte para um site mal-intencionado, ataques de phishing podem ser realizados em uma tentativa de roubar informações do usuário, incluindo credenciais ou outros dados confidenciais. Considerando que o domínio base é confiável - Salesforce.com, a vítima confiará na página e fornecerá todas as informações solicitadas.

Exemplo 1: No exemplo de código a seguir, o parâmetro de URL iframesrc é utilizado diretamente como a URL de destino de apex:iframe.

<apex:page>
<apex:iframe src="{!$CurrentPage.parameters.iframesrc}"></apex:iframe>
</apex:page>


Dessa forma, se um invasor fornece a uma vítima o parâmetro iframesrc definido como um site mal-intencionado, o quadro será renderizado com o conteúdo desse site mal-intencionado.

<iframe src="http://evildomain.com/">
References
[1] Ryan C. Barnett Content Spoofing - TechTarget
[2] Salesforce Developers Technical Library Secure Coding Guidelines
desc.dataflow.apex.frame_spoofing