Introdução
Bem-vindo ao nosso laboratório interativo! Aqui, mergulharemos no mundo da segurança web, focando em Cross-Site Scripting (XSS) - uma vulnerabilidade comum, mas crucial, em aplicações web. Se um website não estiver devidamente protegido contra XSS, ele pode se tornar um campo de atuação para atacantes.
Mas não se preocupe! Vamos ajudá-lo a entender e lidar com essa questão. Começaremos detalhando o que é XSS, por que é importante e como pode ser explorado. Em seguida, guiaremos você no uso de uma ferramenta chamada 'hackbar', que nos auxiliará na identificação de potenciais vulnerabilidades XSS.
Além disso, também exploraremos várias 'técnicas de bypass' (bypassing techniques). Estes são métodos engenhosos que os atacantes podem usar para contornar as medidas de segurança, e, ao compreendê-los, podemos proteger melhor nossos websites.
Lembre-se, a melhor maneira de aprender é fazendo - por isso, conduziremos experimentos práticos ao longo do caminho. Ao final deste laboratório, você terá uma sólida compreensão das vulnerabilidades XSS e de como preveni-las. Vamos começar!
Instalação e Uso do Hackbar
Neste módulo, vamos nos familiarizar com uma ferramenta útil conhecida como 'hackbar', que será nossa principal ajuda na detecção de vulnerabilidades XSS (Cross-Site Scripting).
Primeiramente, vamos instalar a extensão do navegador hackbar:
Navegue até o diretório
/home/labex/project.Localize o arquivo
hackbar-2.3.1-fx.xpi, clique duas vezes nele e, em seguida, clique em "Adicionar" na janela pop-up para instalar a extensão. Assim como mostra a imagem a seguir.
Após a conclusão da instalação, você pode acessar o hackbar abrindo as ferramentas de desenvolvedor em seu navegador. Isso geralmente é feito pressionando a tecla F12 ou navegando até Configurações > Desenvolvedor > Depurador (Debugger).
Vamos rapidamente analisar algumas das principais funcionalidades do hackbar:
- Load URL: Esta funcionalidade carrega a URL da página em que você está no momento no hackbar.
- Split URL: Esta funcionalidade divide os parâmetros da URL para torná-los mais fáceis de ler e entender.
- Execute: Esta funcionalidade envia a URL modificada de volta ao servidor.
- Post data: Permite enviar dados POST para o servidor.
Além disso, o hackbar vem com payloads (cargas úteis) integrados para uma variedade de vulnerabilidades, incluindo SQL injection, XSS e XXE.
Experimento de Vulnerabilidade XSS 1
Nesta seção, vamos nos aprofundar em uma vulnerabilidade XSS (Cross-Site Scripting) básica e aprender como podemos explorá-la usando o hackbar.
Primeiramente, execute o comando abaixo para preparar nosso ambiente de laboratório:
docker run -d -p 82:80 --name pentesterlab-WebforPentest-1 -it jewel591/vulnbox:pentesterlab-WebforPentest-1 /bin/sh -c 'service apache2 start && tail -f /var/log/apache2/error.log'
Em seguida, abra seu navegador web e navegue até esta URL:
http://127.0.0.1:82/xss/example1.php?name=hacker
Aqui estão os passos para explorar a vulnerabilidade XSS:
- Pressione F12 para iniciar o hackbar e clique em "Load URL" para carregar a URL da página atual.
- Modifique o valor do parâmetro
namepara123e, em seguida, clique em "Execute". Você deve observar a página sendo atualizada com este novo valor, como mostrado na imagem abaixo.
- Utilize o payload (carga útil) XSS integrado no hackbar (
XSS > XSS Alert) e clique em "Execute". Isso deve resultar no acionamento de um alerta XSS, como mostrado na imagem abaixo.
Experimento de Vulnerabilidade XSS 2
Nesta parte, exploraremos uma técnica básica para contornar filtros XSS (Cross-Site Scripting).
Comece navegando para a URL abaixo em seu navegador web:
http://127.0.0.1:82/xss/example2.php?name=hacker
Aqui estão os passos para contornar o filtro XSS:
- Tente injetar um payload (carga útil) XSS simples usando o hackbar, por exemplo,
<script>alert(1)</script>. Você descobrirá que isso não produz o resultado esperado, como mostrado na imagem abaixo.
- Inspecione o código-fonte da página. Você notará que as tags
<script>e</script>estão sendo filtradas, como mostrado na imagem abaixo.
- Para contornar este filtro, tente usar um caso diferente para a tag
script, como<ScripT>alert(1)</ScripT>. Isso pode permitir que você contorne o filtro e injete com sucesso o payload XSS, como mostrado na imagem abaixo.
Experimento de Vulnerabilidade XSS 3
Nesta fase, aprenderemos como empregar várias tags e atributos HTML para executar ataques XSS (Cross-Site Scripting).
Primeiro, navegue até a URL abaixo em seu navegador web:
http://127.0.0.1:82/xss/example4.php?name=hacker
Siga estes passos para contornar o filtro XSS e executar um ataque:
- Tente injetar um payload (carga útil) XSS simples usando o hackbar. No entanto, você observará que o servidor identifica e bloqueia a palavra-chave
script, como mostrado na imagem abaixo.
- Para contornar este filtro, usaremos a tag HTML
<a>em combinação com o atributoonclick:
<a onclick="alert('xss')">xss</a>
Este payload gera um link clicável na página web. Quando clicado, ele aciona a função JavaScript alert('xss').
- Clique no link "xss" na página. Você deve ver o alerta XSS sendo ativado, como mostrado na imagem abaixo.

Há uma infinidade de tags e atributos HTML que podem ser usados em conjunto para lançar ataques XSS. Para payloads XSS mais sofisticados, consulte o seguinte repositório:
https://github.com/iSecurity-Club/Pentest-Methodologies/blob/master/web-exploit-exp/xss/payloads.txt
Resumo
Neste laboratório, aprendemos as técnicas fundamentais para descobrir e explorar vulnerabilidades XSS. Exploramos como usar a ferramenta hackbar para testar vulnerabilidades XSS e empregamos várias técnicas de bypass (contorno), como manipulação de casos e o uso de diferentes tags e atributos HTML. Através de experimentos práticos, ganhamos experiência prática na identificação e exploração de vulnerabilidades XSS em aplicações web. Este laboratório forneceu uma base sólida para uma exploração mais aprofundada de técnicas XSS mais avançadas e testes de segurança de aplicações web.



