
Webapp de demonstração vulnerável a CVE-2022-44900
Aplicativo web de demonstração vulnerável ao CVE-2022-44900.
CVE-2022-44900 é uma vulnerabilidade de directory traversal na função SevenZipFile.extractall() da biblioteca Python py7zr versão 0.20.0 e anteriores que permite que atacantes leiam e escrevam arquivos arbitrários na máquina local por meio da extração de um arquivo 7z malicioso.
Para explorar a vulnerabilidade CVE-2022-44900, um atacante precisa criar um arquivo 7z malicioso contendo um symlink para obter uma leitura arbitrária de arquivos e um arquivo com um payload de path traversal como nome para obter uma escrita arbitrária de arquivos.
Mais detalhes em: https://lessonsec.com/cve/cve-2022-44900/
Use slip para gerar arquivos maliciosos: https://github.com/0xless/slip
Para executar o aplicativo web vulnerável, você pode criar um contêiner Docker ou executar apenas o servidor.
Caso opte por executar apenas o servidor, você precisa executar:
pip3 install py7zr==0.20.0
Para instalar a versão vulnerável do py7zr.
Em seguida, basta executar o aplicativo com:
python3 slipper.py
E o aplicativo web estará disponível em localhost:9999.
Para criar o contêiner, use o Dockerfile para criar a imagem slipper.
Em seguida, crie um contêiner com rede host e exponha a porta 9999. Assim como no outro método de instalação, isso permitirá que você acesse o aplicativo web em localhost:9999.
O site será parecido com isto:

Agora você pode extrair arquivos e tentar explorar este laboratório.
O aplicativo web não foi projetado para ser aberto ao público; provavelmente é vulnerável a outras vulnerabilidades e não lida corretamente com todos os erros (como seria de se esperar de um site normal). Certifique-se de usar este software com segurança.
Este projeto é licenciado sob a GPL-3.0 Licença.