1126d5d91689e6367071e353e6a2c45c47f4f3e6
ctf/IERAE CTF 2024 writeup.md
| ... | ... | @@ -7,19 +7,23 @@ revはチームメイトが解いてくれました。 |
| 7 | 7 | # Web |
| 8 | 8 | ## Futari APIs |
| 9 | 9 | `frontend.ts`の |
| 10 | + |
|
| 10 | 11 | ```javascript |
| 11 | 12 | const uri = new URL(`${user}?apiKey=${FLAG}`, userSearchAPI); |
| 12 | 13 | ``` |
| 14 | + |
|
| 13 | 15 | としているところが怪しそう。 |
| 14 | 16 | |
| 15 | 17 | JavaScriptのURLオブジェクトのコンストラクタ`new URL(url, base)`は url が絶対URL である場合、指定されたbase は無視するらしく(なぜ??)、urlに絶対URLを指定すればいいことがわかる。 |
| 16 | 18 | |
| 17 | 19 | 参考: <https://developer.mozilla.org/ja/docs/Web/API/URL/URL> |
| 18 | 20 | |
| 19 | -直後に |
|
| 21 | +また直後に |
|
| 22 | + |
|
| 20 | 23 | ```javascript |
| 21 | 24 | return await fetch(uri); |
| 22 | 25 | ``` |
| 26 | + |
|
| 23 | 27 | があるため、外部のホストへリクエストが飛ばせそう。 |
| 24 | 28 | denoではデフォルトではネットワークアクセスができないが、今回は`--allow-net`オプションが付いているため許可されている。 |
| 25 | 29 |