• Home
  • About
  • Blog
  • Tags
  • Misc
    • Concubaifus
    • Taste
    • Playlist

死神のミッション第1弾

12 Jul 2021

死神のミッション 1日目

ヒント▶
解説▶
答えは「カンゲイ」(ショック→カンゲイ)。

死神のミッション 2日目

ヒント▶
解説▶
答えは「スパーク」。

死神のミッション 3日目

ヒント▶
解説▶
答えは「カンムリ」。

死神のミッション 4日目

ヒント▶
解説▶
答えは「ネクスト」(NEXT→ネクスト)。

死神のミッション 5日目

ヒント▶
解説▶
答えは「マスター」。

死神のミッション 6日目

ヒント▶
解説▶ 答えは「リスタート」。理由はわからん。おまけをチェックして。

死神のミッション 7日目

ヒント▶
解説▶
答えは「あいことば」。

死神のミッション Final Mission

ヒント▶
解説▶ 答えは「ゲームスタート」。

おまけ

6日目のミッションがあまりにも意味不明過ぎて、CTFの能力に頼る羽目になった。日本人の開発者は無能だと世界中で言われていたのでちょっぴり期待してた。ソースに目を通したところ、案の定目立った部分があった。

<script>
(function()
{
let date = new Date().getTime();
window.quizDataPath = "../../js/mission.json?" + date;
})();
</script>

../../js/mission.jsonのところはいわばパストラバーサルの証で、サーバーの他のディレクトリにファイルがあると証明している。

https://www.jp.square-enix.com/shinsubarashiki/shibuya/mission/special/
→ https://www.jp.square-enix.com/shinsubarashiki/shibuya/mission/special/../../js/mission.json
→ https://www.jp.square-enix.com/shinsubarashiki/shibuya/js/mission.json

そのパスを確認するとなんと…

{
  "data": [
    {
      "num": 1,
      "answer": "e382abe383b3e382b2e382a4",
      "hint": {
        "txt": "104の前にいたヤツが惜しいところまでたどりついていたぞ。お前の能力で心の声を見てみたらどうだ?",
        "link": "../../"
      },
      "success":"おめでとう。1日目のミッションクリアだ。<br>まだ気は抜くな。<br>死神のゲームは始まったばかりだ。",
      "share": "1日目のミッションをクリア!",
      "hash": "#死神のミッション #新すばせか",
      "shareurl": "clear.html"
    },
    ...
}

外部アクセス可。ファイルの中身がプレーンテキストで丸出し。しかもanswerも当たり前のように書いてある。けど何らかのアルゴリズムにハッシュ化されている模様。今までの答えと比較してみよう。

カンゲイ → e382abe383b3e382b2e382a4
スパーク → e382b9e38391e383bce382af
カンムリ → e382abe383b3e383a0e383aa
ネクスト → e3838de382afe382b9e38388
マスター → e3839ee382b9e382bfe383bc
???? → e383aae382b9e382bfe383bce38388

言うまでもないけど明らかにパターンがある。ただのURLエンコードじゃん。ハッシュ化でもされていない。

>>> from urllib.parse import unquote
>>> str = "e382abe383b3e382b2e382a4"
>>> unquote("%"+"%".join([str[i:i+2] for i in range(0, len(str), 2)]))
'カンゲイ'
>>> str = "e383aae382b9e382bfe383bce38388"
>>> unquote("%"+"%".join([str[i:i+2] for i in range(0, len(str), 2)]))
'リスタート'

呆れたw

明日のミッション楽しみにしてるよ!



CTF日本語 Share Tweet