sobota, 10 stycznia 2026

picoCTF - Flag in Flame

W tym poście opiszę rozwiązanie zadania Flag in Flame z działu Forensics picoCTF. 


Do zadania dostajemy plik logs.txt oraz wskazówkę, że musimy używać base64 do dekodowania i wygenerowania obrazu. 

Base64 jest to sposób kodowania danych. Zapisuje on zakodowane dane w postaci liter, cyfr, +, -, =.  Należy pamiętać, że to nie jest szyfrowanie każdy może to odszyfrować. Ciąg można rozpoznać po powyższych znakach.  

Najprościej plik udało mi sie zdekodować korzystająć ze strony base64decode.org. 

Po wejściu na stronę zjeżdżamy na sam dół i wprowadzamy plik do dekodowania:


Po wykonaniu operacji pobieramy plik i dostajemy gotowy plik png:


Pobrany plik wygląda następująco:


Innym sposobem jest skorzystanie bezpośrednio z Power Shella na windowsie: 

  1. $b64 = Get-Content .\logs.txt -Raw
  2. $bytes = [Convert]::FromBase64String($b64)
  3. $out = Join-Path $PWD "logs_base.png"
  4. [IO.File]::WriteAllBytes($out, $bytes)

Dobra wróćmy do flagi:

Wydaje się, że jest to zwykła konwersja z hex na ascii. Więc wchodzimy na odpowiednią stronę:

  1. 7069636F4354467B666F72656E736963735F616E616C797369735F69735F616D617A696E675F35636363376362307D

Ciąg wrzucamy do konwerteraz Hex na ASCII:


Flagę wklejamy do rozwiązania i kończymy zadanie.