Simulations/Zip Slip

Zip Slip

Intermediate

An upload endpoint extracts a ZIP by joining each entry name onto the extraction directory without canonicalizing the result. A malicious entry name like ../../../../etc/cron.d/pwn walks straight out of /var/app/uploads/extract — craft a traversal payload, watch it escape, then confine the extractor.

Progress:
1
Escape to /etc/cron.d
2
Overwrite SSH keys or the web root
3
Confine the extractor
⚡ Archive entry name
entry:
🛡 Extractor fix
Extraction trace
Waiting for an entry…

Challenges

1
Escape to /etc/cron.d
Name an entry with enough ../ to land in /etc/cron.d and drop a cron job (RCE).
hints
2
Overwrite SSH keys or the web root
Traverse to /root/.ssh/authorized_keys or /var/www/html to plant a backdoor.
hints
3
Confine the extractor
Enable canonicalization and confirm escaping entries are resolved and rejected.
hints
How to fix Zip Slip
path canonicalization, entry validation, sandboxed extraction

Frequently Asked Questions