コース目次 / 第0章

はじめに — サーバの内側で起きること

これまでの穴が「利用者からの入力」を直接扱う場所で起きたのに対し、このコースはサーバ自身が「代わりに何かをする」処理に潜む穴を扱うと理解します。法と倫理ゲートに同意します。

第0章 / 全5章目安 約5分この章のゴール: SSRFとデシリアライズが「サーバが代理で動く」場所の穴だと理解する

ここまでの穴は、どれも「利用者の入力を、サーバがそのまま扱う」場所で起きていました。検索語がそのまま 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章です。

この章はまだ完了していません。