xss desvendado!

14
Ricardo Striquer Soares [email protected] WB4B Negócios Online XSS Desvendado!

Upload: ricardophp

Post on 05-Jul-2015

3.509 views

Category:

Technology


0 download

DESCRIPTION

Keynots da palestra sobre XSS

TRANSCRIPT

Page 1: Xss Desvendado!

Ricardo Striquer Soares

[email protected]

WB4B Negócios Online

XSS Desvendado!

Page 2: Xss Desvendado!

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

O que é XSS

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.

Page 3: Xss Desvendado!

Freqüência de ocorrencia

27%

39%

9% 9%

16%

Cross Site Scripting Credentials Session

Prediction

SQL Injection Outros Controles

insuficientes

2008 Acumetix Ltd

http://www.acunetix.com/websitesecurity/cross-site-scripting.htm

Page 4: Xss Desvendado!

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;

Problemas que acarreta

3. Roubo de sessão;

4. Roubo de audiencia;

5. Ataque de carga ao sistema servidor;

Page 5: Xss Desvendado!

- Roubo de identidade;

- Acesso à informações restritas de grande

importancia;

- Ganhar acesso à conteúdo pago;

- Monitorar habito de navegação dos usuários;

Utilidades mais comuns de uso

- 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.

Page 6: Xss Desvendado!

Vídeo ilustrativo!

Page 7: Xss Desvendado!

Diagrama de interoperabilidade

Cliente Servidor Cliente

Cenário 1

Cliente Servidor Banco Servidor Cliente

Cenário 2

Page 8: Xss Desvendado!

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.

Como executar

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

XSRFEncaminha o usuário para outra página, ou abre páginas externas no site sendo visitado

Page 9: Xss Desvendado!

Exemplo prático

Page 10: Xss Desvendado!

- Filtro de palavras no código;

- Acompanhamento por IDS(Para evitar DoS e DDoS)

Como se prevenir

(Para evitar DoS e DDoS)

- Acompanhamento do Administrador do sistema;

Page 11: Xss Desvendado!

$x = "<html>teste, <a href=\"teste\"

onclick=\"alert('ahhahaha');\">clique aqui</a>";

echo htmlspecialchars($x);

Funções: htmlspecialchars

// Resultado:

// "&lt;html&gt;teste, &lt;a href=&quot;teste&quot;

// onclick=&quot;alert('ahhahaha');&quot;&gt;clique

// aqui&lt;/a&gt;"

Page 12: Xss Desvendado!

$x = "<html>teste, <a href=\"teste\"

onclick=\"alert('ahhahaha');\">clique aqui</a>";

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

Função: str_replace

// Resultado:

// "&lt;html>teste, &lt;a href="teste"

// onclick="alert('ahhahaha');">clique aqui&lt;/a>"

Page 13: Xss Desvendado!

$x = "<html>teste, <a href=\"teste\"

onclick=\"alert('ahhahaha');\">clique aqui</a>";

echo strip_tags(

str_replace("String.fromCharCode", "", $x)

Funções: strip_tags + str_replace

str_replace("String.fromCharCode", "", $x)

);

// Resultado:

// "alert((0x0068));"

Page 14: Xss Desvendado!

• www.programabrasil.orghttp://www.programabrasil.org/?p=83

• OWASPhttps://www.owasp.org/index.php/Cross-site-scripting

Referencias

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

https://www.owasp.org/index.php/Invoking_untrusted_mobile_code

• Wikipediahttp://en.wikipedia.org/wiki/Cross-site_scripting

• Acunetixhttp://www.acunetix.com/