Uma sequência simples de caracteres é capaz de enganar o filtro de entrada do PayPal e permitir que atacantes possam executar código arbitrário JavaScript.
Aparentemente, os servidores do PayPal falham em verificar sequências de dados inseridos no campo de busca da versão Germânica do site. O resultado mostra ser possível entrar com código arbitrário JavaScript nesse campo, que o servidor então envia para o navegador. O navegador então executa esse código. Atacantes podem explorar essas vulnerabilidades XSS, além de outras coisas, para roubar credenciais de acesso. A falha pode ser demonstrada ao inserir:
"<SCRIPT>alert('XSS strikes again')</SCRIPT>
no campo de busca (nota: conteúdo do link no idioma Alemão). A versão em idioma Inglês da busca no PayPal direciona os usuários para um motor de busca, aparentemente, externo. A falha XSS ainda poderia ser utilizada em ataques por falantes da língua inglesa utilizando o PayPal.
Perceba o truque: mesmo com uma URL PayPal e um certificado PayPal válido, as credenciais de login aqui são enviadas, não para o PayPal, mas para a matriz do Heise na Alemanha.
Enganado sem Piedade
O usuário não tem como saber que o código foi injetado por um atacante, já que a URL correta do PayPal está sendo apresentada na barra de endereços do navegador e a verificação SSL também falha em identificar quaisquer irregularidades. Mas vale ressaltar que o ataque simples descrito por Kugler não funciona com navegadores baseados no WebKit (Safari, Chromium e Chrome), os quais incluem um filtro XSS. Entretanto, isso pode ser devidamente burlado. Já os usuários do Opera, Firefox e Internet Explorer estão diretamente expostos a essa vulnerabilidade do PayPal. Os desenvolvedores da Mozilla (que desenvolvem o navegador Firefox) estão trabalhando em seu próprio filtro XSS, mas o desenvolvimento parece ter sido interrompido.
História
A vulnerabilidade prévia do PayPal que poderia ser explorada utilizando entradas de usuários filtradas de forma insuficiente, foi descoberta em Março de 2012. Então, como agora, a empresa se mostrou feliz em divulgar na Alemanha um "Sistema de Pagamento testado" com um certificado (original PDF em idioma Alemão) emitido pela TÜV Saarland. No último ano financeiro, o Paypal teve um faturamento global de US$ 1,5 bilhões.
Saiba Mais:
- Heise Online: PayPal vulnerable to cross-site scripting again (em Inglês)