Zips

in zips, in zips, in zips, in zips, ...

Deze challenge is best straight forward. Heel veel zips in elkaar, maar je weet niet hoeveel. Je kan dit manueel doen als je echt heel veel tijd hebt.

  • Python

Python is een makkelijke taal om scriptjes mee te schrijven. Om aan deze challenge te beginnen moet je goed nadenken over wat je script moet kunnen.

Je wilt .zip bestanden kunnen uitpakken, maar hoe weet het script welk bestand het moet uitpakken? Je moet dus ook kunnen lezen welk bestand er in je .zip file zit. De code die je hier voor nodig hebt kan je makkelijk op het internet vinden. Zoek dit op en experimenteer in Python.

Je weet niet hoeveel .zip bestanden het zijn dus je kan niet specificeren wanneer je script moet stoppen. Je script zal moeten blijven doorgaan tot het een niet-.zipbestand tegenkomt. Je script zal ten einde lopen door een error.

Werkend Pythonscript:

Onderstaande script heb ik zelf samengesteld met code die ik op het internet heb gevonden.

Zips.zip
# Module die je nodig hebt 
from zipfile import ZipFile

# Zipbestand vanwaar je vertrekt 
file = 'Zip.zip'
zipObj = ZipFile(file , 'r')

# Je weet niet hoeveel zipbestanden dus blijft het oneindig doorgaan
while True:

    # Code om te extracten 
    with ZipFile(file, 'r') as zip_ref:
        zip_ref.extractall()
        
    # Verander de file die je gaat extracten naar het volgende bestand   
    listOfiles = zip_ref.namelist()
    for elem in listOfiles:
        file = elem
        print(file)

In PyCharm gaat dit niks opleveren. Run de code in dezelfde map als het zipbestand.

Normaal verschijnt er nu een map met daarin elk bestand dat in het hoofd zipbestand zat. Je script toonde ook de namen van de bestanden. Het laatste was flag.txt. Zoek dus nu in de map naar flag.txt en voila.

WTFFLAG{dat_zijn_veel_zips}

Last updated