【Webアプリケーションのセキュリティ 8】〜 データベースのセキュリティ 〜 | ScanNetSecurity
2024.05.03(金)

【Webアプリケーションのセキュリティ 8】〜 データベースのセキュリティ 〜

 業務用Webアプリケーションは、多量のデータを扱うことが多く、データベースとの連携がなされることが多い。データベースと連携したWebアプリケーションには、他のWebアプリケーションにはない特有のセキュリティ問題がある。データベースと連携したWebアプリケーショ

特集 特集
 業務用Webアプリケーションは、多量のデータを扱うことが多く、データベースとの連携がなされることが多い。データベースと連携したWebアプリケーションには、他のWebアプリケーションにはない特有のセキュリティ問題がある。データベースと連携したWebアプリケーションのセキュリティ問題のキーワードは「SQLコマンドインジェクション」である。

 前回記事ではOSコマンドインジェクションについて取り上げた。cgiを通して外部からシステムOSのコマンドを直接入力されてしまう問題である。今回話題にするのはSQLコマンドインジェクションである。

 多くのデータベースでは、SQL(Structured Query Language:構造化問い合せ言語)を用いてデータベースの内容を処理する。このSQLコマンドをcgiを通して外部から直接送り込まれる、つまりデータベース内容の不正操作のことがSQLコマンドインジェクションである。

 SQLコマンドインジェクションの原理を、可能な限り簡単にして説明しよう。データベースのデータ形式として、次のような形式でデータの並ぶのユーザIDとパスワードの対照表を考える。

ID, password

つまり、最初の欄はユーザID、次の欄はパスワードである。実際のデータベースの内容は

satoh, sukoshinagipassword
suzuki, kaidokudekinaipassword

という具合になっている。もう少し詳しくこのデータベースファイルの形式を説明すると、IDとpasswordの区切りはコンマと半角スペース、passwordと次のデータのIDとの区切りは改行コードである。ここで改行コードを仮に↓で表すと、このデータベースの内容は

satoh, sukoshinagipassword↓suzuki, kaidokudekinaipassword↓

と表すこともできる。

 このデータベースに新たにデータを加えるcgiがあったとしよう。WebからユーザIDとして「yamamoto」、パスワードとして「$&*%password」が入力された場合にはデータベースの内容は、

satoh, sukoshinagipassword↓suzuki, kaidokudekinaipassword↓yamamoto, $&*%password↓

という具合に、入力されたデータが最後尾に付け加えられる。

 ところがこのcgiに、ユーザIDとして「akechi」、パスワードとして「pass1↓itoh, pass2」というデータが入力されると、これを最後尾に付け加えたデータベースの内容は、

satoh, sukoshinagipassword↓suzuki, kaidokudekinaipassword↓yamamoto, $&*%password↓akechi, pass1↓itoh, pass2↓

となる。記号「↓」を、本来通り改行に直して表記すると

satoh, sukoshinagipassword
suzuki, kaidokudekinaipassword
yamamoto, $&*%password
akechi, pass1
itoh, pass2

となる。

office
office@ukky.net
http://www.office.ac/

(詳しくはScan本誌をご覧ください)
http://shop.vagabond.co.jp/m-ssw01.shtml

《ScanNetSecurity》

PageTop

アクセスランキング

  1. ランサムウェア被害の原因はスターティア社の UTM テストアカウント削除忘れ

    ランサムウェア被害の原因はスターティア社の UTM テストアカウント削除忘れ

  2. クラウド労務管理「WelcomeHR」の個人データ閲覧可能な状態に、契約終了後も個人情報保存

    クラウド労務管理「WelcomeHR」の個人データ閲覧可能な状態に、契約終了後も個人情報保存

  3. 今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

    今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

  4. 2023年「業務外利用・不正持出」前年 2 倍以上増加 ~ デジタルアーツ調査

    2023年「業務外利用・不正持出」前年 2 倍以上増加 ~ デジタルアーツ調査

  5. クラウド型データ管理システム「ハイクワークス」のユーザー情報に第三者がアクセス可能な状態に

    クラウド型データ管理システム「ハイクワークス」のユーザー情報に第三者がアクセス可能な状態に

  6. 信和へのランサムウェア攻撃で窃取された情報、ロックビット摘発を受けてリークサイトが閉鎖

    信和へのランサムウェア攻撃で窃取された情報、ロックビット摘発を受けてリークサイトが閉鎖

  7. 雨庵 金沢で利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

    雨庵 金沢で利用している Expedia 社の宿泊予約情報管理システムに不正アクセス、フィッシングサイトへ誘導するメッセージ送信

  8. 「味市春香なごみオンラインショップ」に不正アクセス、16,407件のカード情報が漏えい

    「味市春香なごみオンラインショップ」に不正アクセス、16,407件のカード情報が漏えい

  9. SECON 2024 レポート:最先端のサイバーフィジカルシステムを体感

    SECON 2024 レポート:最先端のサイバーフィジカルシステムを体感

  10. トレーニング 6 年ぶり復活 11/9 ~ 11/15「CODE BLUE 2024」開催

    トレーニング 6 年ぶり復活 11/9 ~ 11/15「CODE BLUE 2024」開催

ランキングをもっと見る