コース目次 / 第0章
はじめに — サーバの内側で起きること
これまでの穴が「利用者からの入力」を直接扱う場所で起きたのに対し、このコースはサーバ自身が「代わりに何かをする」処理に潜む穴を扱うと理解します。法と倫理ゲートに同意します。
ここまでの穴は、どれも「利用者の入力を、サーバがそのまま扱う」場所で起きていました。検索語がそのまま HTML に(XSS)、名前がそのまま SQL に(SQLi)。このコースは、少し違う場所を狙います——サーバが、利用者の代わりに何かを“取りに行く”・“復元する”処理です。
サーバは、特権的な立ち位置にいる
たとえば「URLを渡すと、そのページのサムネイルを作る」機能。これはサーバが、あなたの代わりに、指定されたURLへリクエストを送るということです。
サーバは、あなたのブラウザとは違う場所にいます。社内ネットワークの中にいたり、クラウドの管理用エンドポイントに届いたり——外からは直接アクセスできない場所に、サーバなら届く。
もし「取りに行く先」を利用者が自由に決められ、しかもサーバがそれを検証しなければ——攻撃者は、サーバの特権的な立ち位置を借りて、本来は届かないはずの内部に手を伸ばせます。これが SSRF(Server-Side Request Forgery)です。
もう一つの穴、デシリアライズも似た形です。「保存しておいたデータを、元の形(オブジェクト)に戻す」処理——これも、外部から来たデータをサーバが信じて実行に近いことをする場面です。
このコースの相手 — すべて自作の的
法と倫理ゲート
手を動かす前に
このコースは攻撃の技術に触れます。実習してよい相手は、次の3つだけです。
- (a) 自分で作った練習用のやられ環境(このサイトが配る自作ターゲット)
- (b) あなた自身の許可された環境(自分の Thousand SKY・secret-notes-ctf など)
- (c) CTF 競技の中(規約の範囲で)
実在する第三者のシステムを許可なく触ることは、不正アクセス禁止法に触れます。 このゲートは、その線引きを毎回の入口で確かめるためのものです。詳しくは「セキュリティの法と倫理」へ。
このコースは教育目的・自作限定です。攻撃するのは、あなたが自分の 127.0.0.1 の別ポートに立てる「内部専用」の的だけ。実インターネットには一切出ません(法と倫理)。
実務の SSRF 診断では、クラウドのメタデータエンドポイント(169.254.169.254 など)や社内システムが的になりますが、本物にそれを試すのは許可された診断契約の中だけです。このコースでは、その“内部だけの的”を、自分の 127.0.0.1 の別ポートに自分で再現して、仕組みを安全に学びます。
このコースの地図
| 章 | 学ぶこと |
|---|---|
| 第1章 | SSRF — サーバに、内部への使いを頼む |
| 第2章 | SSRF の修正 — 許可リストと、内部IPの遮断 |
| 第3章 | 安全でないデシリアライズ — 復元が、実行になる瞬間 |
準備ができたら、次の章へ。まずは、サーバに「代わりに取りに行かせる」機能から穴を開けます。
こうなっていればOK
卒業まであと4章です。
この章はまだ完了していません。
保存できませんでした(プライベートブラウズ中かもしれません)。この端末に進捗は残りませんが、先へは進めます。