Skip to content

Latest commit

 

History

History
39 lines (21 loc) · 2.18 KB

README.md

File metadata and controls

39 lines (21 loc) · 2.18 KB

Fix my pdf (misc, 100p)

PL

For ENG scroll down

Dostajemy taki oto pdf od autorów zadania.

Wszelkie próby załadowania go do jakiegoś czytnika pdf kończą się niepowodzeniem - wyraźnie wygląda na uszkodzony.

Możemy jeszcze otworzyć go z ciekawości w notepadzie/vimie/emacsie żeby przyjrzeć sie jego wewnętrzenej strukturze - niestety wszystkie streamy w pdfie są skompresowane, co oznacza że ręcznie ich nie podejrzymy.

W tym momencie należy więc skorzystać z jakiegoś narzędzia do dumpowania streamów pdfa. Do głowy przychodzi qpdf, ale jako dzieci windowsa wybieramy prostsze narzędzie - pdf stream dumper.

Ładujemy pdf, i jeden ze streamów wydaje sie ciekawszy (dla oka ludzkiego) niż pozostałe - zawiera XML z metadanymi. Szczególnie ciekawa jest zawartość <xmpGImg:image> - dekodujemy więc ją i zapisujemy do oddzielnego pliku (pamiętając żeby zamienić/usunąć wcześniej ciągi &#xA; z base64 - autor tego writeupa zapomniał o tym na początku i już myślał że jego pomysł na zadanie okazał się ślepą uliczką).

Otrzymujemy taki oto obrazek:

Odczytujemy z niego flagę: TMCTF{There is always light behind the clouds}.

ENG

We get this pdf file from the task authors.

All attempts to open it with a pdf reader fail - it seems to be broken.

We can still open it with notepad/vim/emacs to look at the internal structure - unfortunately all pdf streams are compressed so we can't easily read them.

We decided to use a pdf stream dump tool. We could have used qpdf but since we're on windows at the moment we chose a different tool - pdf stream dumper.

We load the pdf and one of the streams seems more interesting than the others (at least from human point of view) - it contains XML with metadata. Particularly insteresting is <xmpGImg:image> - we decode this and we save it to a different file (remembering to replace/remove &#xA; from base64 - author of this writeup forgot about this initially and almost assumed that his approach to solve the task was incorrect)

We finally get this picture:

We read the flag from it: TMCTF{There is always light behind the clouds}.