Skip to content

Latest commit

 

History

History
60 lines (32 loc) · 2.4 KB

CTF7.md

File metadata and controls

60 lines (32 loc) · 2.4 KB

XSS CTF

Reconhecimento

Ao entrar no servidor, deparamo-nos com um servidor de download e upload de ficheiros copyparty

copy party server

Figura 1: Servidor Copyparty

copyparty info

Figura 2: Descrição do servidor copyparty

Também encontramos rapidamente um ficheiro flag.txt mas infelizmente eramos redirecionados quando tentavamos aceder ao mesmo

redirect from flag page

Figura 3: Tentativa de aceder à flag

Pesquisa de vulnerabilidades e escolha do exploit

Pesquisamos por vulnerabilidades conhecidas relacionadas ao Copyparty e encontramos o CVE-2023-38501, que detalha uma falha de reflected XSS no software. Essa vulnerabilidade ocorre nos parâmetros de URL ?k304=... e ?setck=..., permitindo a execução de scripts maliciosos. A exploração pode levar a ações não autorizadas, como mover, excluir ou carregar ficheiros utilizando a conta de um usuário que clique num link malicioso. A falha foi corrigida na versão 1.8.7 do Copyparty.

resultado google

Figura 4: Pesquisa por CVES

resultados exploitdb

Figura 5: Exploit encontrado no exploit-db

Utilizamos o exploit mencionado no Exploit-DB com um payload básico de XSS. Esse teste demonstrou que o servidor era vulnerável.

test de uso exploit

Figura 6: Ataque para testar o exploit

Estratégia de ataque

Com o objetivo de aceder ao conteúdo do ficheiro flag.txt, substituímos o payload inicial por um fetch em JavaScript que realiza uma request ao ficheiro flag.txt. O código utilizado foi o seguinte:

fetch('/flag.txt')
  .then(response => response.text())
  .then(data => alert(data))
  .catch(error => console.error('Request failed:', error));

Após realizar o URL encoding no payload, inserimos o código modificado no URL. Quando o payload foi executado no browser, a flag foi exibida com sucesso.

exploit xss

Figura 7: Ataque para obter a flag

Conclusão

A vulnerabilidade explorada neste desafio evidencia os riscos de não validar e sanitizar inputs de utilizadores, especialmente em aplicações que lidam com arquivos e permissões. Através do CVE-2023-38501, foi possível contornar as restrições de acesso com um ataque de reflected XSS e obter o conteúdo do ficheiro flag.txt.