nazotokiCTF 2022 Writeup

## はじめに
2022年7月17日～18日にかけて開催された#nazotokiCTFに参加したので、備忘録もかねてWriteupを書きました。  
初めての記事なので、細かいミスには目をつぶっていただけると幸いです。
とりあえずWeb問のみ書きましたが、時間があればほかの問題についても追記するかもしれないです。

## Web
#### ふたご座
```
<form action="check.php" method="get">
                    <div class="input-group">
                      <input class="form-control" type="input" name="dummyPassword" placeholder="Dummy Password">
                      <input type="hidden" name="realPassword" value="dummyPassword">
                      <span class="input-group-btn"><input class="btn btn--primary btn--rounded" type="submit" value="SUBMIT"></span>
                    </div>
                  </form>
```
パスワード入力部分のソースコードを見てみると、入力チェックがあるみたい。
コマンドラインでHTTPリクエストを送れるツール`curl`を使ってみる。

```
$ curl -L "https://gemini.ctf.nazotoki.tech/check.php?realPassword=dioskouroi"
<!DOCTYPE html>
<html lang="Ja">
  <head>
    <!-- Document Meta-->
    <meta charset="utf-8"/>
    <!--  Fonts-->
    <link href="http://fonts.googleapis.com/css?family=Ubuntu:300,300i,400,400i,500,500i,700,700ii%7CMerriweather:300,300i,400,400i,700,700i,900,900i" rel="stylesheet" type="text/css"/>
    <!-- Stylesheets-->
    <link href="assets/css/vendor.min.css" rel="stylesheet"/>
    <link href="assets/css/style.css" rel="stylesheet"/>
    <!--
    Document Title
    =============================================
    -->
    <title>Gemini</title>
  </head>
  <body>
    <!--
    Document Wrapper
    =============================================
    -->
    <div class="wrapper clearfix" id="wrapper">

      <section class="hero bg-dark" id="hero">
        <div class="hero-content bg-dark">
          <div class="container">
            <div class="row">
              <div class="col-12 col-md-6 offset-md-3 pt-100">
                <div class="hero-headline">Congratulations</div>
                <div class="hero-bio">
                  <div style="padding-bottom: 2rem;">? < 解いてくれてありがとう！フラグをどうぞ！</div>
                  <div style="padding-bottom: 2rem;">nazotokiCTF{<code>ナイーブ</code>}</div>
              </div>
            </div>
            <!-- End .row -->
          </div>
          <!-- End .container -->
        </div>
        <!-- End .hero-content -->
      </section>
      <!-- End #hero  -->
  </body>
</html>
```
`nazotokiCTF{ナイーブ}`

#### てんびん座
URLにアクセスすると下記のような画面が出てくる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/3f5e3d39-d0a4-0722-8db3-e631063debdf.png)
ブラウザで判定しているとのことなので、User-Agentがあやしい。
試しに`curl`で`User-Agent`を偽造してみる。

```
$ curl -H "User-Agent: stardustChrome"  "https://libra.ctf.nazotoki.tech/"                                                                                                                                                   130 ?
<!DOCTYPE html>
<html lang="Ja">
  <head>
    <!-- Document Meta-->
    <meta charset="utf-8"/>
    <!-- Stylesheets-->
    <link href="assets/css/vendor.min.css" rel="stylesheet"/>
    <link href="assets/css/style.css" rel="stylesheet"/>
    <!--
    Document Title
    =============================================
    -->
    <title>Libra</title>
  </head>
  <body class="bg-gray">
  <section id="libra">
        <div class="container">
          <div class="row clearfix">
            <div class="col-12 col-md-12 offset-md-1 col-lg-8 offset-lg-1">
            <h2 class="heading--title">Libra</h2>
            <h6>リクエストヘッダー情報</h6>
            <p>
                フラグは<code>stardustChrome</code>という特殊なブラウザでしか閲覧できません。
            </p>
            <p>
                X-Forwarded-For:153.231.59.102<br>X-Forwarded-Proto:https<br>X-Forwarded-Port:443<br>Host:libra.ctf.nazotoki.tech<br>X-Amzn-Trace-Id:Root=1-62d42bdc-19ab66e11e312d32017d44d7<br>accept:*/*<br><br />確かにstardustChromeを使ってるね。フラグをどうぞ！ <br />nazotokiCTF{<code>クローン</code>} <br />
            </p>
            <a href="/" onclick="window.location.reload();">再読み込み</a>D
            </div>
          </div>
        </div>
      </section>
  </body>
</html>

```
`nazotokiCTF{クローン}`
いけた。

#### みずがめ座
URLにアクセスすると下記のような画面が出てくる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/e24487a2-d0c3-2cd7-0dae-fef7bb92abe1.png)

SQLインジェクションっぽかったので、とりあえず入力してみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/afd8931b-8472-4f61-49e0-deb7864bd8ac.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/9ce67e90-1c50-9e88-665a-e69cafe71e11.png)

違うみたい。
んーーわからん。（早い）

1つ目のヒントを見てみると、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/c8438857-71a4-6b87-9763-c107c11756b6.png)
とのこと。

そういえばアイちゃんの社員番号が載ってたような。。。
ということで社員番号を99、パスワードをpasswordとして入力してみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/ff92fe78-04fd-de20-48f6-9f940e3d6d16.png)

出てきた。
なになに、、「フラグのヒントはナンバー9999に載せておいたよ！」ですって。
社員番号を9999、パスワードはわからないので先ほどのSQLインジェクションを試してみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1901407/24021ed0-1112-13dd-4085-433a68a6e44b.png)

アイちゃんの情報の下に、新たなレコードが出現。
 	`nazotokiCTF{この候補者の苗字} `
とのことなので、答えは
`nazotokiCTF{タカハシ}`

## おわりに
他のCTFとは一風変わった問題で非常に楽しめました！
次回開催時も参加したいと思います。