ITの仕組みを学びながらIT資格を目指しましょう。
本ブログで目指す資格は、「基本情報技術者試験」です。
基本情報技術者試験については、こちらもご参照ください。
まずは、「科目A」について、学んでいきましょう。
今回のテーマは、「SQL インジェクション攻撃」です。
科目A試験サンプル問題 「SQL インジェクション攻撃」
問36 SQL インジェクション攻撃による被害を防ぐ方法はどれか。
ア 入力された文字が,データベースへの問合せや操作において,特別な意味をもつ文字として解釈されないようにする。
イ 入力にHTML タグが含まれていたら,HTML タグとして解釈されない他の文字列に置き換える。
ウ 入力に上位ディレクトリを指定する文字列( . . / )が含まれているときは受け付けない。
エ 入力の全体の長さが制限を超えているときは受け付けない。
正解:ア
SQLインジェクションとは
脆弱性のあるWebアプリケーションの入力領域に、攻撃者が悪意のある問合せや操作を行う命令文を注入することで、管理者の意図していないSQL文を実行させる攻撃です。
不正にシステムに侵入されたり、データの漏洩や改ざん、破壊が行われる危険があります。
これを防ぐには、利用者が入力している文字のなかにデータベースへの問合せの際に特別な意味を持つ文字があるかを検証し、見つかったときは、削除するか別の文字に置き換えたりするなどの対策を取ります。
(参考)令和06年 かやのき先生の基本情報技術者教室 (技術評論社)
コメント