Correr javascript no IE a partir de uma imagem

Published July 14th, 2008

No Internet Explorer, desde o 6 até ao actual 8, é possível correr código javascript ou html através de uma imagem especialmente criada com esse propósito.

Desde o tempos do IE 6 que a Microsoft sabe deste problema, mas nunca o chegou a corrigir por considerar uma “feature” e não um bug.

Aqui fica um exemplo de como é fácil explorar esta “feature”. Este exemplo não funciona no Firefox, nem Opera.

Primeiro temos de criar uma imagem. A maneira mais fácil será recorrer ao photoshop. Cria-se uma imagem qualquer e depois em File -> File info acedemos ao campo Copyright notice, onde lá colocamos o código javascript (talvez um iframe para ir buscar um trojan, who knows). Para simplificar a demonstração vamos apenas colocar o código:

<script>alert('Teste!');</script>

Outra maneira, mais rápida é colocar um header de imagem num editor de texto normal, bastando para isso colocar o seguinte no editor:

%137%74%80%71%13%10%26%10%00%00%00%13%00%00%00%01%00%00%00%01<script>alert('Teste!');</script>

Agora é só gravar o ficheiro com a extensão .jpg e abrir o ficheiro com o Internet Explorer.

Aqui fica um ficheiro com este exemplo para testarem.

Update: Ao que parece a Google suspendeu o site onde alojei a imagem de teste devido a esta violar as condições. Um bom sinal de que a Google trabalha de modo a dar alguma segurança aos seus serviços. Não me vou dar ao trabalho de realojar a imagem, poderão seguir as instruções acima para recriar a mesma e testarem. No entanto é de notar que esta terá de estar alojada online para resultar. Não pode ser aberta localmente.

Update 2: Mais sobre o assunto aqui e aqui.

Get a Trackback link

7 Comments

  1. Pedro Pais on July 14, 2008

    Confesso que compreendo que seja algo não desejável, mas não me parece uma falha de segurança.
    Na prática, qualquer código que possas colocar na imagem seria código que também poderia estar num site.

  2. rogeriopvl on July 14, 2008

    Certo, mas aqui a questão é que um hoje em dia, um site, as pessoas já desconfiam. Uma imagem é diferente, existe uma certa confiança associada a um ficheiro jpg gif ou pngl.

    Mas de facto não é nada assim de muito grave. Apenas é estranho o facto de ser considerado feature.

  3. Ricardo Almeida on July 15, 2008

    Era bom pores alguma refencia tipo: http://www.0×000000.com/index.php?i=605

  4. Ricardo Almeida on July 15, 2008

    E uma ainda pior “feature” da microsoft http://www.0×000000.com/index.php?i=608

  5. Pedro on July 15, 2008

    O google caçou-te!

    http://octestes.googlepages.com/teste.jpg
    This site has been disabled for violations of our Program Policies.

  6. rogeriopvl on July 15, 2008

    lol. obrigado Pedro por me teres indicado isso, não tinha reparado.

  7. rogeriopvl on July 16, 2008

    Ricardo,

    Desconhecia esse post. A fonte original foi uma discussão num fórum. Obrigado na mesma, vou colocar como link.

Leave a comment: