レッスン 3-2
再現できない
読み終えたら影響を
この頁の流れ
穴を
出典を確かめた日 2026年10月27日
なぜ再現が要るのか
穴を
再現を
エクスプロイトとは
穴 (脆弱性)
最小の再現とは
よい
影響を共通の言葉で
深刻度は、
入り口になりやすい所と、対策の全体像
CVSS 4.0 の
守る
脆いコードと直したコード
ラボのowner) が
穴そのもの
Python
def get_doc(db, user, doc_id):
return db.docs[doc_id]Python
def get_doc(db, user, doc_id):
doc = db.docs[doc_id]
if doc.owner != user:
raise PermissionError(doc_id)
return doc脆い方は、
実証のしかた
Python
def prove(db):
for i in list(db.docs):
del db.docs[i] # 全部消して「書けた」と言うPython
def prove(db):
# alice で、bob の文書 (2) が読めることだけ示す
return get_doc(db, "alice", 2)脆い方の
ログでの見え方と検知
守る
| 見る物 | なぜ効くか |
|---|---|
| 持ち主でない | 認可の |
| 番号を | 連番での |
| 1 件の | 最小の |
許された
直し方と、直ったことの確かめ方
自分の
- 作業用の
フォルダに、 文書を 2 件持つ 小さな データを 作る。 1 件は alice、 1 件は bob の 持ち物にする - 脆い
get_docを置き、 alice で bob の 文書が 返る ことを 確かめる。 これが 最小の 再現になる - 再現は
読み 取りだけにし、 消す・ 書き 換える・ 大量に 取る ことはしない - 関数を
直した コードに 置き換え、 同じ再現が PermissionErrorになる ことを 確かめる - その
再現を 試験として 残し、 穴の ある コードに 戻すと 試験が 落ちる ことを 確かめる - 影響を
CVSS の 項目で 1 文に まとめ、 再現の 手順と、 守った 範囲 (本番を 触らない、 データを 消さない ) を 文書に残す - 終わったら、
作業用の フォルダごと消す
Python
def test_other_users_doc_blocked(db):
with pytest.raises(PermissionError):
get_doc(db, "alice", 2) # 2 は bob の文書
def test_owner_can_read(db):
assert get_doc(db, "bob", 2).owner == "bob"試験は
関わる事例
三菱電機では、
Equifax では、
確認クイズ
1 問目
許された
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
実証は、
2 問目
見つけた
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
深刻度の
説明課題
次の
- 影響を
最小の 手で 示す再現を、 どう作るか
模範解答を見る
許された
一次資料
どれも
- Common Vulnerability Scoring System version 4.0 Specification Document (FIRST、英語)。
攻めやすさと 影響を 決まった 項目で 測り、 点数と 深刻度に 落とすこと - WSTG Testing Guide (OWASP、英語)。
自分の アプリを 対象に、 偵察から 検査まで 順に 進めること - 脆弱性関連
情報の 。届出受付 (IPA、 日本語) 見つけた 脆弱性を、 制度の 窓口を 通して 届け出る仕組み - Known Exploited Vulnerabilities (KEV) Catalog (CISA、英語)、およびその
使い方の 。解説 (CISA、英語) 実際に 悪用が 確認された 脆弱性だけを 載せ、 載った 脆弱性から 優先して 直すよう 勧めていること
次へ
次の
このレッスンにつながる物
トラック 3 攻撃と検証の中で
前のレッスン 3-1 偵察と- 偵察と
攻撃面の 洗い出し - 権限昇格
- 横への
広がりと 認証情報 - AssumeRole と
ロールの連鎖 - 報告と範囲 準備中
- 匿名の
ネットワークの 設計と限界 準備中 - 地下の
経済と リークサイト 準備中
