スポンサーリンク

【応用情報技術者試験】SQLインジェクションを5分で理解!

「SQLインジェクションって何?」
応用情報技術者試験でもセキュリティ分野で超頻出ですが、

  • SQLが攻撃される?
  • なぜ危険?
  • どう防ぐ?
  • Webアプリと関係ある?

で混乱する人がかなり多いテーマです。

この記事では、

  • SQLインジェクションとは?
  • 攻撃の仕組み
  • 被害
  • 対策
  • 試験での頻出ポイント

を5分で理解できるように解説します!


まず結論

SQLインジェクションとは?

「不正なSQLを入力してDBを操作する攻撃」

です!


超簡単にいうと

「入力欄からDBへ侵入する攻撃」


なぜ危険?

データベースには:

  • パスワード
  • 個人情報
  • 売上情報

など重要情報がある。


攻撃されると?

  • 情報漏えい
  • 改ざん
  • 削除

が発生する!


イメージ

かなり重要👇


普通のログイン

SELECT * FROM users
WHERE id=’taro’
AND password=’1234′;


でも攻撃者が

‘ OR ‘1’=’1

を入力すると…


SQLが変化

WHERE id=”
OR ‘1’=’1′


結果

条件が常に真


不正ログイン成功!


なぜ起こる?

超重要!


原因

入力値をそのままSQLへ結合

するから。


イメージ

入力値

SQL文字列へ直接連結

攻撃成立


被害例

被害内容
情報漏えい顧客情報流出
データ改ざん内容変更
データ削除DB破壊

DROP TABLE

超有名!


DROP TABLE users;


意味

表削除


対策

超頻出!


最重要

プレースホルダ


プレースホルダとは?

SQL構文と:

入力値を分離

する仕組み。


イメージ

WHERE id = ?


なぜ安全?

入力値を:

単なるデータ扱い

するから!


エスケープ処理

発展知識!


意味

特殊文字を:

無害化

する。


WAFとの関係

超頻出!


WAFとは?

Webアプリ防御装置


SQLインジェクション検知・遮断できる。


SQLインジェクションが起こる場所

場所
ログイン画面ID/PW
検索フォーム商品検索
問い合わせ入力欄

クロスサイトスクリプティング(XSS)との違い

超重要!

攻撃対象
SQLインジェクションDB
XSSブラウザ

なぜ「インジェクション」?

SQLを注入する

から!


応用情報で超頻出

かなり狙われる👇

  • SQLインジェクション
  • プレースホルダ
  • WAF
  • DB改ざん
  • 情報漏えい

よくあるひっかけ

「SQLインジェクションは暗号攻撃」

→ 違う!

これは:

不正SQL注入攻撃


1分で復習!

SQLインジェクション

不正SQL注入


原因

入力値直接連結


被害

  • 情報漏えい
  • 改ざん
  • 削除

対策

プレースホルダ


練習問題

問題

SQLインジェクション対策として最も適切なものはどれか。

プレースホルダを利用する

CPU性能を向上する

主記憶容量を増やす

通信速度を高速化する


解答

正解:ア

解説

プレースホルダを利用することで、入力値をSQL構文とは別データとして扱い、SQLインジェクションを防止できます。


まとめ

SQLインジェクションとは

「不正SQL注入攻撃」


超重要

  • プレースホルダ
  • WAF
  • 情報漏えい
  • DB改ざん

まずは、

「入力欄からSQLを壊される」

このイメージを持つとかなり理解しやすくなります!


知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント