Um usuário que usa uma aplicação ou um site vulnerável a Cross Site Scripting pode ser espionado por scripts maliciosos.
Uma aplicação vulnerável pode enviar ao navegador do usuário um script malicioso que vai espionar as pesquisar feitas e revelar ao atacante se o usuário pesquisou um determinado tipo de assunto. O resultado desta espionagem pode ser enviado ao atacante facilmente pelo script sem que o usuário perceba.
Segue abaixo uma prova de conceito de como esta espionagem é feita e também uma explicação técnica sobre o que acontece nos "bastidores". O botão Espionar vai executar um script que vai verificar as pesquisar feitas por você. Este exemplo foi feito baseado no Google, mas é facilmente adaptado para qualquer outro site de busca de páginas. (Neste exemplo nenhuma informação será enviada para fora)
Explicação Técnica
O script cria dinamicamente um link idêntico aos parâmetros de uma pesquisa feito pelo Google. Feito isso basta apenas verificar se o link criado está com as propriedades iguais a um link visitado ou a um link não visitado.
1. Define o o estilo do link para diferenciar visitado de não visitado. Nesta caso o link visitado terá altura 30 ver código
2. Cria as urls com os parâmetros da pesquisa do google. A string [chave] será substituída pela palavra de pesquisa. ver código
3. Prepara repetição para cada url com os parâmetros do Google. ver código
4. Prepara cada url do Google com a palavra chave digitada e incluí na página. ver código
5. Agora é só verificar se a altura do link é 30. Se for 30 significa que o link já foi visitado. Caso contrário o usuário ainda não visitou o link. O 30 foi definido no primeiro passo na definição do estilo do link. ver código