#前置き
初めてCTFを経験してまだ2,3問程度しか解いていませんが、知らないコマンドや概念のオンパレードです。
すでに復習が必要かもしれません。すぐに忘れてしまいそうです
とはいえなかなか楽しい。
#続きを
##環境
Mac OS High Sierra 10.13.4
見覚えがあります。
でファイルの種類を調べればヒントが得られるやつでしょう。
Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 932, Author: ?v??, Template: Normal.dotm, Last Saved By: ?v??, Revision Number: 1, Name of Creating Application: Microsoft Office Word, Total Editing Time: 28:00, Create Time/Date: Mon Oct 12 04:27:00 2015, Last Saved Time/Date: Mon Oct 12 04:55:00 2015, Number of Pages: 1, Number of Words: 3, Number of Characters: 23, Security: 0
お?
Microsoft Office Wordというキーワードが見えました。
私のPCにはWordが入っています。
・・・もしかして普通にクリックすれば開けるのでは?
開けました。
flagもその中に書いてありました。
意外とあっさり。
Web系の問題は初めてです。
※ サーバーへの攻撃なんてできません。
詳しい使い方は分かりませんが、google chromeのデベロッパーツールの存在は知っています。
HTMLやCSS,Java Scriptで記述されたソースコードが見れますよね。
問題文の
「ページに表示されている部分以外にも」
という表現からしてデベロッパーツールを使うのではないでしょうか。
リンク先はこのようないたって普通のページでした。
そこでデベロッパーツールを使って中身を見てみました。
ビンゴです。
コードの中に**flag is ....**といった具合にflagが書いてありました。
とても分かりやすく仕込んでいてくれました。
難易度が上がるとこんなに簡単ではないのでしょう・・・。
「画像には位置情報が載っている」
テレビなどでもよく目にします。こういうことだったんですね。
うーん、知りません。
Exif情報を見ればこの場所がわかるのでしょうか。
そもそもExif情報ってどうやって見るんだ?
ということで検索です。
このコマンドでExif情報が見れるらしいです。
mdlsとはMeta Data LiStの略みたいです。
「メタ認知」なんていう言葉もありますし、「メタ」というのが「自分の」という意味なのでしょうか。
兎にも角にもこれでExif情報が見れるようなので、試してみます。
kMDItemAcquisitionMake = "Sony"
kMDItemAcquisitionModel = "SO-01G"
kMDItemBitsPerSample = 32
kMDItemColorSpace = "RGB"
kMDItemContentCreationDate = 2015-09-14 03:50:38 +0000
kMDItemContentCreationDate_Ranking = 2015-09-14 00:00:00 +0000
kMDItemContentModificationDate = 2015-09-14 03:50:38 +0000
kMDItemContentType = "public.jpeg"
kMDItemContentTypeTree = (
"public.jpeg",
"public.item",
"public.data",
"public.image",
"public.jpeg",
"public.content"
)
kMDItemCreator = "23.1.B.1.160_6_f1000010"
kMDItemDateAdded = 2018-05-25 08:09:45 +0000
kMDItemDateAdded_Ranking = 2018-05-25 00:00:00 +0000
kMDItemDisplayName = "river.jpg"
kMDItemEXIFGPSVersion = "2.3.0.0"
kMDItemEXIFVersion = "2.2"
kMDItemExposureMode = 0
kMDItemExposureTimeSeconds = 0.0005
kMDItemFlashOnOff = 0
kMDItemFNumber = 2
kMDItemFocalLength = 4.6
kMDItemFSContentChangeDate = 2018-05-24 03:58:57 +0000
kMDItemFSCreationDate = 2018-05-24 03:58:57 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = "river.jpg"
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 424184
kMDItemFSTypeCode = ""
kMDItemHasAlphaChannel = 0
kMDItemInterestingDate_Ranking = 2018-05-25 00:00:00 +0000
kMDItemISOSpeed = 50
kMDItemKind = "JPEGイメージ"
kMDItemLastUsedDate = 2018-05-25 08:09:50 +0000
kMDItemLastUsedDate_Ranking = 2018-05-25 00:00:00 +0000
kMDItemLatitude = 31.5841
kMDItemLogicalSize = 424184
kMDItemLongitude = 130.5477016666667
kMDItemMeteringMode = 5
kMDItemOrientation = 0
kMDItemPhysicalSize = 425984
kMDItemPixelCount = 8294400
kMDItemPixelHeight = 2160
kMDItemPixelWidth = 3840
kMDItemProfileName = "sRGB IEC61966-2.1"
kMDItemRedEyeOnOff = 0
kMDItemResolutionHeightDPI = 72
kMDItemResolutionWidthDPI = 72
kMDItemUseCount = 9
kMDItemUsedDates = (
"2018-05-23 15:00:00 +0000",
"2018-05-24 15:00:00 +0000"
)
kMDItemWhereFroms = (
"https://ctf.cpaw.site/download.php?param=698b07a8e319ec52e1c8c97015d5f9a8",
"https://ctf.cpaw.site/questions.php?qnum=10"
)
kMDItemWhiteBalance = 0
大漁です。
1枚の画像にはこれほどの情報が含まれているんですね。
眺めていると緯度経度っぽい数字がありました。
Latitude: 緯度
Longitude: 経度
ですので、この座標をgoogle mapで検索してみましょう。
結果、見事に川がありました。
正解だったようです。
疑問に思ったのですがpng形式の画像ならExif情報はないのでしょうか?
##Exifとpngとjpgと
検索したところpngにはExif情報は含まれないという情報を目にしました。
それならばと思い、問題のriver.jpgをriver.pngに変えてからもう一度Exif情報を見てみました。
普通に緯度経度見えました。
それならばスクリーンショットはどうだ、と思いこれも試しました。
どうやらスクリーンショットのExif情報には緯度経度を示すものは載っていないようでした。
また、jpeg画像でもスマホやカメラの設定から位置情報が付与されないように設定しておくと、Exif情報を調べても出てこないようです。
#写真、気をつけよう
写真の位置情報問題のせいで、他の2問の印象がほぼありません。
試しにスマホの位置情報設定をいじり、カメラ使用中に位置情報を扱うことを許可してみました。
Exif情報を見た結果、完璧に緯度経度が含まれていました。
いや、怖すぎ。
位置情報の利用は気をつけましょう・・・。