Chap2. cpaw Level1後編 + α

## はじめに

CTF学習のため、cpawというサイトの問題を解いていく記事です。
Level1後編ですが、HTML PageとRiverの問題は省略しています。
その代わり(?) +α分としてLevel2初めの2問を解いておきました！

https://ctf.cpaw.site/index.php


### この記事の対象者
- CTF超初心者
- cpawの問題を解いてみたい人

### 問題一覧

- [Q11 [Network]pcap](#q11-network-pcap)
- [Q12 [Crypto]HashHashHash!](#q12-crypto-hashhashhash)
- [Q14 [PPC] 並べ替えろ!](#q14-ppc-並べ替えろ)
- [Q13 [Stego] 隠されたフラグ](#q13-stego-隠されたフラグ)
- [Q15 [Web] Redirect](#q15-web-redirect)

***
### Q11. [Network] pcap
__パケットキャプチャーファイルの中身を覗く問題__
pcap：ネットワークを流れるパケットをキャプチャーしたもの
今後の問題にもパケットキャプチャー関係の問題があるので、
[Wireshark](https://www.wireshark.org/) をインストールしておきましょう

<details><summary>flagの見つけ方1</summary>
<div>

Wiresharkでダウンロードした `network10.pcap` を開きましょう。
すると下のような画面でパケット情報としてflagがそのまま書かれています！

![pcap.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806017/4a27c345-ed9f-490b-8012-4e39884a9d59.png)

</div>
</details>

<details><summary>flagの見つけ方2(Wiresharkなし)</summary>
<div>

Wiresharkを使わない方法も紹介しておきます。
それは、ダウンロードした `network10.pcap` の中身をコマンドで出力させる方法です。

Windows： __typeコマンド__
Linux系： __catコマンド__ または __lessコマンド__

どちらもバイナリファイルなので文字化けが酷い感じで出力されますが、
flagは問題なく見つけられます！

```
type "network10.pcap"
```

```
less network10.pcap
cat network10.pcap
```

</div>
</details>

<details><summary>flag</summary>
<div>

```
cpaw{gochi_usa_kami}
```

突然ふざけたflagが出てきましたがこれが正解です...

</div>
</details>

***
### Q12. [Crypto] HashHashHash!
__Hash値を平文に戻す問題__
ハッシュ値：元データから特定のアルゴリズムによって生成される不規則な文字列
SHA1：入力データが同じであれば常に同じハッシュ値を生成する
→デジタル署名や改ざん検知とかに使われる
ヒントにgoogleで検索とあるので、とても素直に従うと簡単ですね。

<details><summary>flagの見つけ方</summary>
<div>

検索エンジンに`e4c6bced9edff99746401bd077afa92860f83de3 hash`
と入力すると、結果の一番上に[このサイト](https://sha1.gromweb.com/?hash=e4c6bced9edff99746401bd077afa92860f83de3#google_vignette)が出てくるのではないでしょうか？

ここで出てきた`Convert a string to a SHA-1 hash`の結果がflagです！

</div>
</details>

<details>
  <summary>flag</summary>
  <div>
  
  ```
  cpaw{Shal}
  ```
  
  </div>
</details>

***
### Q14. [PPC] 並べ替えろ!
__下の配列を降順に並べ替える問題__

下記のサイトなどでコードを書くと簡単なので今回はPythonで解きます。
ブラウザでPython実行できるサイト：https://paiza.io/ja/projects/new?language=python3

```
[15,1,93,52,66,31,87,0,42,77,46,24,99,10,19,36,27,4,58,76,2,81,50,102,33,94,20,14,80,82,49,41,12,143,121,7,111,100,60,55,108,34,150,103,109,130,25,54,57,159,136,110,3,167,119,72,18,151,105,171,160,144,85,201,193,188,190,146,210,211,63,207]
```

<details><summary>求める用のPythonソースコード</summary>
<div>

```Python:sort.py
a = [15,1,93,52,66,31,87,0,42,77,46,24,99,10,19,36,27,4,58,76,2,81,50,102,33,94,20,14,80,82,49,41,12,143,121,7,111,100,60,55,108,34,150,103,109,130,25,54,57,159,136,110,3,167,119,72,18,151,105,171,160,144,85,201,193,188,190,146,210,211,63,207]
print(sorted(a, reverse=True))
```
この出力結果をコピペして`, `を置換とかで全部消してやるとflagが得られました！

</div>
</details>

<details><summary>flag</summary> 
<div>

```
cpaw{2112102072011931901881711671601591511501461441431361301211191111101091081051031021009994938785828180777672666360585755545250494642413634333127252420191815141210743210}
```

</div>
</details>

***
ここからLevel 2に入ります!
### Q13. [Stego] 隠されたフラグ
__画像からFlag見つける問題__
![steg10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806017/9a93da6a-d748-4b8d-a5c4-736a5ecc8d06.jpeg)

<details><summary>画像から見つかるもの</summary>
<div>

よく見ると画像の左上と右下に何やら黒い記号群が見つけられます。
これはノイズや模様ではなく、__モールス符号__ という文字コードなんです！
モールス信号としてSOSで使われるのはかなり有名ですね

```
-.-. .--. .- .-- .... .. -.. -.. . -. ..--.- -- . ... ... .- --. . ---... -.--.-
```
これを[変換ツール](https://charactercalculator.com/morse-code-translator/)にコピペするとflagがわかります！
※flagは小文字に直しましょう

ちなみにSOSは . . . - - - です。

</div>
</details>

<details>
  <summary>flag</summary>
  <div>
  
  ```
  cpaw{hidden_message:)}
  ```
  
  </div>
</details>

***
### Q15. [Web] Redirect
__リダイレクトされた時の遷移を確認する問題__

<details><summary>flagの見つけ方</summary>
<div>

http://q15.ctf.cpaw.site/ をアドレスバーに入力し、
デベロッパーツールの `Network` から `X-Flag` を見るとflagが見つかります！

![cpaw.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806017/5e7dd0ee-0a40-42f9-8bc7-19d485b2561f.png)

</div>
</details>

<details>
  <summary>flag</summary>
  <div>
  
  ```
  cpaw{4re_y0u_1ook1ng_http_h3ader?}
  ```

  </div>
</details>

## おわりに
第2回目はLevel1後半のCTFっぽさがなんとなく掴める感じの問題と
Level2の掴み的な問題たちを書き起こしてみました！
第3回目以降も順次上げて行きたいと思います。