Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
tecnolog...
Freqüência de ocorrencia
                                                             39%


      27%


                  ...
Problemas que acarreta
1. Alteração do conteúdo do HTML da página;

2. Apresentação de mensagens (por alerts de
   javascr...
Utilidades mais comuns de uso
- Roubo de identidade;
- Acesso à informações restritas de grande
  importancia;
- Ganhar ac...
Vídeo ilustrativo!
Diagrama de interoperabilidade
Cenário 1

           Cliente              Servidor              Cliente



Cenário 2


 Cl...
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 ...
Exemplo prático
Como se prevenir

- Filtro de palavras no código;

- Acompanhamento por IDS
   (Para evitar DoS e DDoS)

- Acompanhamento ...
Funções: htmlspecialchars
$x = quot;<html>teste, <a href=quot;testequot;
  onclick=quot;alert('ahhahaha');quot;>clique aqu...
Função: str_replace
$x = quot;<html>teste, <a href=quot;testequot;
  onclick=quot;alert('ahhahaha');quot;>clique aqui</a>q...
Funções: strip_tags + str_replace
$x = quot;<html>teste, <a href=quot;testequot;
  onclick=quot;alert('ahhahaha');quot;>cl...
Referencias
• www.programabrasil.org
http://www.programabrasil.org/?p=83


• OWASP
https://www.owasp.org/index.php/Cross-s...
Upcoming SlideShare
Loading in …5
×

Xss Desvendado!

4,385 views

Published on

Keynots da palestra sobre XSS

Published in: Technology
  • Be the first to comment

Xss Desvendado!

  1. 1. XSS Desvendado! Ricardo Striquer Soares ricardophp@yahoo.com.br WB4B Negócios Online
  2. 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. 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. 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. 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.
  6. 6. Vídeo ilustrativo!
  7. 7. Diagrama de interoperabilidade Cenário 1 Cliente Servidor Cliente Cenário 2 Cliente Servidor Banco Servidor Cliente
  8. 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
  9. 9. Exemplo prático
  10. 10. Como se prevenir - Filtro de palavras no código; - Acompanhamento por IDS (Para evitar DoS e DDoS) - Acompanhamento do Administrador do sistema;
  11. 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. 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. 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;
  14. 14. 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/

×