Você está na página 1de 1

Cross-Site Scripting (XSS)

Ataques Cross-Site Scripting ocorrem quando aplicativos da Web contm algum tipo d
e entrada refletida. Por exemplo, considere uma simples aplicao web que contm uma ni
ca caixa de texto pedindo que um susurio digite seu nome. Quando o usurio clica em
enviar, o aplicativo web carrega uma nova pgina que diz: "Ol, nome."
Em circunstncias normais, essas aplicaes web funcionam como projetadas. No entanto,
um indivduo malicioso poderia tomar vantagem desta aplicao web para enganar um ter
ceiro desavisado. Como voc deve saber, voc pode inserir scripts em pginas da Web us
ando as tags HTML <SCRIPT> E </SCRIPT>. Suponha que, em vez de entrar Mike no ca
mpo Nome, insira o seguinte texto:
Mike <SCRIPT> alert ('Ol') </ SCRIPT>
Quando o aplicativo web "reflete" essa entrada na forma de uma pgina web, o seu n
avegador processa como outra pgina web: ele exibe as pores de texto da pgina web e e
xecuta as pores de escript. Neste caso, o script simplesmente abre uma janela pop-
up que diz "Ol" nele. No entanto, voc poderia ser mais malicioso e incluir um rote
iro mais sofisticado, que pede ao usurio para fornecer uma senha e os transmite a
um terceiro mal-intencionado.
Neste ponto, voc provavelmente est se perguntando como algum poderia ser vtima deste
tipo de ataque. Afinal, voc no vai atacar a si mesmo, incorporando scripts na ent
rada que voc fornece para uma aplicao web que executa reflexo. A chave para este ata
que que possvel incorporar a entrada de um formulrio ou link. Um indivduo mal- inte
ncionado pode criar uma pgina web com um link intitulado "Verifique sua conta no
First Bank" e codificar a entrada do formulrio no link. Quando o usurio visita o l
ink, a pgina da web parece ser um autntico site First Bank(pois !) com o endereo cor
reto na barra de ferramente e um certificado ssl vlido. No entanto, o site execut
aria o script includo na entrada pelo utilizado mal intencionado, mas parece ser
parte da pgina web vlido.
Proteo contra Cross-Site Scripting
Qual a resposta de script cross-site? Ao criar aplicaes web que permitem qualquer
tipo de entrada do usurio, voc deve ter certeza de realizar a validao de entrada. No
nvel mais bsico, voc nunca deve permitir um usurio incluir a tag <SCRIPT> em um ca
mpo de entrada refletica. No entando, isso no resolve o problema por completo; ex
istem muitas alternativas inteligentes disponveis para um atacante de aplicao web.
A melhor soluo determinar o tipo de entrada que voc vai permitir e depois validar a
entrada para garantar que ele corresponda a essa padro. Por exemplo, se voc tem u
ma caixa de texto que permite que os usurios insiram sua idade, voc deve aceitar a
penas entre uma e trs dgitos como entrada. Sua aplicao deve rejeitar qualquer outra
entrada como invlida.

Você também pode gostar