SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
XSS Desvendado!
    Ricardo Striquer Soares
ricardophp@yahoo.com.br
    WB4B Negócios Online
O que é XSS
XSS quer dizer Cross Site Scripting, seu nome
originalmente era CSS e apesar de ser mais antigo que a
tecnologia CSS ele é muito menos popular, por isto quando
surgiu a CSS diversos técnicos de segurança começaram a
chamar a falha de XSS, graças ao XHTML, linguagem a
qual geralmente se encontra a falha.

O XSS é uma das mais populares técnicas de “Injection”
(Em Português Injeção, de injetar, ou adicionar) que existe,
nada mais é do que a injeção de códigos extras, não
necessariamente danosos, em uma página de internet.
Freqüência de ocorrencia
                                                             39%


      27%


                                                                        16%
                             9%                 9%

Cross Site Scripting   Credentials Session   SQL Injection   Outros     Controles
                           Prediction                                 insuficientes


2008 Acumetix Ltd
http://www.acunetix.com/websitesecurity/cross-site-scripting.htm
Problemas que acarreta
1. Alteração do conteúdo do HTML da página;

2. Apresentação de mensagens (por alerts de
   javascript) incorretas ao usuário final;

3. Roubo de sessão;

4. Roubo de audiencia;

5. Ataque de carga ao sistema servidor;
Utilidades mais comuns de uso
- Roubo de identidade;
- Acesso à informações restritas de grande
  importancia;
- Ganhar acesso à conteúdo pago;
- Monitorar habito de navegação dos usuários;
- Alterar funcionalidades básicas do browser;
- Defamação publica de um indivíduo ou empresa;
- Danificar aplicações Web;
- Proporcionar um DoS ou um DDoS.
Vídeo ilustrativo!
Diagrama de interoperabilidade
Cenário 1

           Cliente              Servidor              Cliente



Cenário 2


 Cliente             Servidor   Banco      Servidor             Cliente
Como executar
Executa-se por meio de adição de código XHTML em
campos comuns de formulários ou variáveis passadas
por GET para funcionalidades como paginação e links,
não necessáriamente apenas de texto.

XSS comum
  Altera o conteúdo da página atual

XSRF
  Encaminha o usuário para outra página, ou abre
  páginas externas no site sendo visitado
Exemplo prático
Como se prevenir

- Filtro de palavras no código;

- Acompanhamento por IDS
   (Para evitar DoS e DDoS)

- Acompanhamento do Administrador do sistema;
Funções: htmlspecialchars
$x = quot;<html>teste, <a href=quot;testequot;
  onclick=quot;alert('ahhahaha');quot;>clique aqui</a>quot;;

echo htmlspecialchars($x);

// Resultado:
// quot;&lt;html&gt;teste, &lt;a href=&quot;teste&quot;
// onclick=&quot;alert('ahhahaha');&quot;&gt;clique
// aqui&lt;/a&gt;quot;
Função: str_replace
$x = quot;<html>teste, <a href=quot;testequot;
  onclick=quot;alert('ahhahaha');quot;>clique aqui</a>quot;;

echo str_replace(quot;<quot;, quot;&lt;quot; $x);

// Resultado:
// quot;&lt;html>teste, &lt;a href=quot;testequot;
// onclick=quot;alert('ahhahaha');quot;>clique aqui&lt;/a>quot;
Funções: strip_tags + str_replace
$x = quot;<html>teste, <a href=quot;testequot;
  onclick=quot;alert('ahhahaha');quot;>clique aqui</a>quot;;

echo strip_tags(
   str_replace(quot;String.fromCharCodequot;, quot;quot;, $x)
);

// Resultado:
// quot;alert((0x0068));quot;
Referencias
• www.programabrasil.org
http://www.programabrasil.org/?p=83


• OWASP
https://www.owasp.org/index.php/Cross-site-scripting
https://www.owasp.org/index.php/Invoking_untrusted_mobile_code


• Wikipedia
http://en.wikipedia.org/wiki/Cross-site_scripting


• Acunetix
http://www.acunetix.com/

Mais conteúdo relacionado

Mais procurados

Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
Cassio Ramos
 
Invasão e proteção de servidores JBoss - FLISOL 2009
Invasão e proteção de servidores JBoss - FLISOL 2009Invasão e proteção de servidores JBoss - FLISOL 2009
Invasão e proteção de servidores JBoss - FLISOL 2009
Paulo Renato Lopes Seixas
 

Mais procurados (19)

OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
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
 
"Por trás da criação de um simulador de operações cibernéticas: unindo virtua...
"Por trás da criação de um simulador de operações cibernéticas: unindo virtua..."Por trás da criação de um simulador de operações cibernéticas: unindo virtua...
"Por trás da criação de um simulador de operações cibernéticas: unindo virtua...
 
Aumente a velocidade de seu site com o Varnish: Proxy cache para sites com co...
Aumente a velocidade de seu site com o Varnish: Proxy cache para sites com co...Aumente a velocidade de seu site com o Varnish: Proxy cache para sites com co...
Aumente a velocidade de seu site com o Varnish: Proxy cache para sites com co...
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
ataque contra roteadores no brasil
  ataque contra roteadores no brasil  ataque contra roteadores no brasil
ataque contra roteadores no brasil
 
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
 
Segurança & Ruby on Rails
Segurança & Ruby on RailsSegurança & Ruby on Rails
Segurança & Ruby on Rails
 
Site blindado - Como tornar loja virtual mais segura e vender mais
Site blindado  - Como tornar loja virtual mais segura e vender maisSite blindado  - Como tornar loja virtual mais segura e vender mais
Site blindado - Como tornar loja virtual mais segura e vender mais
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
 
Badass XSS: Esqueça o alert e vá para mundo real
Badass XSS: Esqueça o alert e vá para mundo realBadass XSS: Esqueça o alert e vá para mundo real
Badass XSS: Esqueça o alert e vá para mundo real
 
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner EliasTratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
 
Slides do Treinamento - OWASP TOP 10 (Em português)
Slides do Treinamento - OWASP TOP 10 (Em português)Slides do Treinamento - OWASP TOP 10 (Em português)
Slides do Treinamento - OWASP TOP 10 (Em português)
 
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
 
Invasão e proteção de servidores JBoss - FLISOL 2009
Invasão e proteção de servidores JBoss - FLISOL 2009Invasão e proteção de servidores JBoss - FLISOL 2009
Invasão e proteção de servidores JBoss - FLISOL 2009
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 
Muito além do alert() em ataques web client side
Muito além do alert() em ataques web client sideMuito além do alert() em ataques web client side
Muito além do alert() em ataques web client side
 
Detecção e prevenção de vulnerabilidades no Wordpress.
Detecção e prevenção de vulnerabilidades no Wordpress.Detecção e prevenção de vulnerabilidades no Wordpress.
Detecção e prevenção de vulnerabilidades no Wordpress.
 
PHP MySQL aulas 05 e 06
PHP MySQL aulas 05 e 06PHP MySQL aulas 05 e 06
PHP MySQL aulas 05 e 06
 

Semelhante a Xss Desvendado!

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
Clavis Segurança da Informação
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
OWASP Brasília
 
Quem tem medo do XSS
Quem tem medo do XSSQuem tem medo do XSS
Quem tem medo do XSS
William Costa
 

Semelhante a Xss Desvendado! (20)

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
 
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
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
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)
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
 
Ass - RIA
Ass - RIAAss - RIA
Ass - RIA
 
Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2Hacking em consoles webs de security appliances, h2hc-rev-2
Hacking em consoles webs de security appliances, h2hc-rev-2
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
Introdução ao desenvolvimento de páginas web estáticas
Introdução ao desenvolvimento de páginas web estáticasIntrodução ao desenvolvimento de páginas web estáticas
Introdução ao desenvolvimento de páginas web estáticas
 
Quem tem medo do XSS
Quem tem medo do XSSQuem tem medo do XSS
Quem tem medo do XSS
 
OWASP - Ferramentas
OWASP - FerramentasOWASP - Ferramentas
OWASP - Ferramentas
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
Segurança em SOA
Segurança em SOASegurança em SOA
Segurança em SOA
 
Ria
RiaRia
Ria
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
 
Ferranentas OWASP
Ferranentas OWASPFerranentas OWASP
Ferranentas OWASP
 
Curso asp - basico
Curso   asp - basicoCurso   asp - basico
Curso asp - basico
 
Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013Ameaças e Vulnerabilidade em Apps Web-2013
Ameaças e Vulnerabilidade em Apps Web-2013
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdfConcurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 

Xss Desvendado!

  • 1. XSS Desvendado! Ricardo Striquer Soares ricardophp@yahoo.com.br WB4B Negócios Online
  • 2. O que é XSS XSS quer dizer Cross Site Scripting, seu nome originalmente era CSS e apesar de ser mais antigo que a tecnologia CSS ele é muito menos popular, por isto quando surgiu a CSS diversos técnicos de segurança começaram a chamar a falha de XSS, graças ao XHTML, linguagem a qual geralmente se encontra a falha. O XSS é uma das mais populares técnicas de “Injection” (Em Português Injeção, de injetar, ou adicionar) que existe, nada mais é do que a injeção de códigos extras, não necessariamente danosos, em uma página de internet.
  • 3. Freqüência de ocorrencia 39% 27% 16% 9% 9% Cross Site Scripting Credentials Session SQL Injection Outros Controles Prediction insuficientes 2008 Acumetix Ltd http://www.acunetix.com/websitesecurity/cross-site-scripting.htm
  • 4. Problemas que acarreta 1. Alteração do conteúdo do HTML da página; 2. Apresentação de mensagens (por alerts de javascript) incorretas ao usuário final; 3. Roubo de sessão; 4. Roubo de audiencia; 5. Ataque de carga ao sistema servidor;
  • 5. Utilidades mais comuns de uso - Roubo de identidade; - Acesso à informações restritas de grande importancia; - Ganhar acesso à conteúdo pago; - Monitorar habito de navegação dos usuários; - Alterar funcionalidades básicas do browser; - Defamação publica de um indivíduo ou empresa; - Danificar aplicações Web; - Proporcionar um DoS ou um DDoS.
  • 7. Diagrama de interoperabilidade Cenário 1 Cliente Servidor Cliente Cenário 2 Cliente Servidor Banco Servidor Cliente
  • 8. Como executar Executa-se por meio de adição de código XHTML em campos comuns de formulários ou variáveis passadas por GET para funcionalidades como paginação e links, não necessáriamente apenas de texto. XSS comum Altera o conteúdo da página atual XSRF Encaminha o usuário para outra página, ou abre páginas externas no site sendo visitado
  • 10. Como se prevenir - Filtro de palavras no código; - Acompanhamento por IDS (Para evitar DoS e DDoS) - Acompanhamento do Administrador do sistema;
  • 11. Funções: htmlspecialchars $x = quot;<html>teste, <a href=quot;testequot; onclick=quot;alert('ahhahaha');quot;>clique aqui</a>quot;; echo htmlspecialchars($x); // Resultado: // quot;&lt;html&gt;teste, &lt;a href=&quot;teste&quot; // onclick=&quot;alert('ahhahaha');&quot;&gt;clique // aqui&lt;/a&gt;quot;
  • 12. Função: str_replace $x = quot;<html>teste, <a href=quot;testequot; onclick=quot;alert('ahhahaha');quot;>clique aqui</a>quot;; echo str_replace(quot;<quot;, quot;&lt;quot; $x); // Resultado: // quot;&lt;html>teste, &lt;a href=quot;testequot; // onclick=quot;alert('ahhahaha');quot;>clique aqui&lt;/a>quot;
  • 13. Funções: strip_tags + str_replace $x = quot;<html>teste, <a href=quot;testequot; onclick=quot;alert('ahhahaha');quot;>clique aqui</a>quot;; echo strip_tags( str_replace(quot;String.fromCharCodequot;, quot;quot;, $x) ); // Resultado: // quot;alert((0x0068));quot;