Ontem à noite, me deparei com o seguinte problema:
Possuía uma página que recebia um objeto javascript, este, porém, possuía uma propriedade que receberia um valor previamente informado pelo usuário.
Exemplo:

De cara, nota-se uma possível falha de segurança, imagine caso um usuário mal intencionado informasse um valor como:
xss', poison:function(){alert('xss')}(), foo: '
A minha resposta seria:

Que como vocês podem notar, ainda é um objeto javascript válido, porém esta envenenado com xss.
Caso eu desejasse consumir este objeto na página, receberia uma mensagem de alerta durante o eval.
Para corrigir este problema desenvolvi esta pequena função em VB.NET

Que simplesmente substitui os caracteres especiais por suas representações Unicode ref http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Unicode
Então, apos este método, quando recebo strings envenenadas meu objeto Javascirpt fica assim:

Espero que ajude, abraços
Que o livro oficial da Microsoft para a prova 70-536 esta coberto de erros, não preciso dizer, mas alguns são realmente irritantes, hoje estava relendo o capitulo 9, Installing and Configuring Applications, uma das mais interessantes do livro (ainda vou escrever um post sobre ele) e de novo esbarrei em alguns dos seus erros, porém o que mais me irritou foi os das páginas 490/491, primeiro o último parágrafo da página 490, iniciado em "In the previous versions of the Framework, no real distiction was made..." é repetido inteiramente na página 491 e para piorar o exemplo de código da página 490 esta totalmente incorreto! O problema é que eu já havia lido esta parte e este segundo erro me passou despercebido, sem falar que já havia conferido sobre todas as erratas no site de 
