本文へスキップ
BecomeCoder
Wiki一覧コース一覧

SQLインジェクション

最終更新: 2026年8月8日

SQLインジェクション は、入力欄などから 不正な SQL を紛れ込ませ、データベース を不正に操作する 攻撃です。情報の抜き取り、改ざん、削除などにつながる、代表的で危険な 脆弱性 です。

原因は、利用者の入力を、そのままSQL文の一部として組み立ててしまう 作りにあります。たとえばログイン処理で、入力をそのまま埋め込むと、細工した入力によって条件が常に成立してしまい、パスワードなしで認証を突破される、といったことが起こり得ます。

危険な組み立て(入力をそのまま連結)
"SELECT * FROM users WHERE name = '" + 入力 + "'"
              ↑ ここに細工したSQLを紛れ込ませられる

防御の基本は、入力を「値」として安全に扱う ことです。

多くの フレームワークORM は、標準で安全な組み立てを提供しています。「入力を信用せず、値として扱う」——これが鉄則です。

← Wiki一覧に戻る