No cON Name CTF Quals 2014 Writeup
MISCall(Misc 100)
.tar.gzのファイルを展開すると、gitリポジトリが出てきます。
ファイルはflag.txtのみで、Nothing to see here, moving along...とか書いてあります。
git logを見てもinitial commitのみ。
そこで.git/objects/を見ます。
$ git cat-file -p <ハッシュ値>でファイルが見られるので、いろいろ漁るとs.pyというファイルがあります。
#!/usr/bin/env python from hashlib import sha1 with open("flag.txt", "rb") as fd: print "NCN" + sha1(fd.read()).hexdigest()
あとはもとのflag.txtをダンプしてsha1をとれば終了です。
ただし、gitのハッシュはファイルのsha1そのものではないのでそこは注意が必要です。
参考:http://stackoverflow.com/questions/5290444/why-does-git-hash-object-return-a-different-hash-than-openssl-sha1
Flag:
NCN4dd992213ae6b76f27d7340f0dde1222888df4d3