PHP逆引き大全 516の極意

セキュアプログラミングの極意 - Tips450 SQLインジェクションによる不正データベース操作の手法を理解する

登録タグ
PHP
Icon comment count 0
Icon stock count 0

7-4安全なデータベース処理Tips450 SQLインジェクションによる不正データベース操作の手法を理解する

Level2

PointSQL文組み立て時の文字列処理に潜む脆弱性に注意する

SQLインジェクションにより不正にデータベースを操作するための手段の1つとして、セミコロン(;)またはUNION句で2つのSQLを同時に実行する方法があります。

サンプルプログラムでは、下記のSQLを実行しています。

SELECT title, author FROM books WHERE title LIKE '%テキストボックスの入力値%';

攻撃者は、上記SQLの「テキストボックスの入力値」に悪意のあるSQLを注入します。

例えば、テキストボックスに以下の入力をすることを考えます。

%';delete from reviews;--

この入力値を元にSQLを組み立てると、下記のSQLとなります(わかりやすいように、改行を入れています)。

SELECT title, author FROM books WHERE title LIKE '%%';
delete from reviews;--%';

コメントアウトを表す「--」を最

出典情報

Medium

PHP逆引き大全 516の極意

  • 著者: 大家 正登, 茂木 健一, 鮫島 康浩, 谷中 志織

コメント

    コメントはありません