理解度チェック

脆弱コード当てクイズ

実際に見かける危ないコード片を見て、どの脆弱性かを4択で当てます。 答え合わせではなぜ危険か・どう直すかまで解説。コードレビューで穴を見抜く目を鍛えます。

Q1 / 12正解 0
Pythonこの脆弱性は?
name = request.args.get("name")
q = "SELECT * FROM users WHERE name = '" + name + "'"
cursor.execute(q)

見抜きの共通原則

  • 入力とコードの分離:利用者入力を「命令の一部」にした瞬間に危険。SQL・シェル・HTML・テンプレートすべてに共通する。
  • ホワイトリスト:URL・ファイル名・リダイレクト先は「許可したものだけ」通す。ブラックリストは抜ける。
  • 権限は毎回サーバで確認:ログイン済みでも、そのリソースが本人のものかを都度検証(IDOR対策)。