xss desvendado!

Post on 05-Jul-2015

3.509 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Keynots da palestra sobre XSS

TRANSCRIPT

Ricardo Striquer Soares

ricardophp@yahoo.com.br

WB4B Negócios Online

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.

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

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;

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

Vídeo ilustrativo!

Diagrama de interoperabilidade

Cliente Servidor Cliente

Cenário 1

Cliente Servidor Banco Servidor Cliente

Cenário 2

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

Exemplo prático

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

$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;"

$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>"

$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));"

• 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/

top related