Skip to content

Latest commit

 

History

History

other100

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

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}.