My Photo

« PostgreSQLで時間の差を求める | Main | PostgreSQLでMySQLのgroup_concat関数のようなことをする »

August 11, 2013

Webアプリケーションの機能と脆弱性の対応

脆弱性は

  • 出力に起因するもの…インジェクション系脆弱性
  • 処理に起因するもの

に分けられる。

出力に起因する脆弱性

ここでの「出力」とはHTTPレスポンスだけではなくDBアクセスなど外部システムとのやり取りも含む。

クロスサイトスクリプティング(HTMLインジェクション、JavaScriptインジェクション)
出力:HTMLの出力
HTTPヘッダインジェクション
出力:HTTPヘッダの出力
SQLインジェクション
出力:SQLの発行
OSコマンドインジェクション
出力:シェルコマンドの呼び出し
メールヘッダインジェクション
出力:メールヘッダおよび本文の出力
ディレクトリトラバーサル
出力:ファイルへのアクセス

処理に起因する脆弱性

クロスサイトリクエストフォージェリ(CSRF)
セッションフィクセーション認証不備
認可不備

インジェクション系脆弱性

Webアプリケーションではテキスト形式のインタフェースが多用される。
これらのテキスト形式の多くは引用符(シングルクウォートやダブルクウォートなど)やデリミタによってデータを識別する。
多くのWebアプリではテキストの構造はあらかじめ決まっていて、データのみをテキスト中の特定の場所に流し込む。

インジェクション系脆弱性の原理は、本来データが入る部分に引用符やデリミタを混入させ、文字列の構造を変化させることである。

例として以下のSQL(Aと呼ぶ)があるとする

SELECT * FROM users WHERE id='$id'

$idの部分以外はあらかじめ決められているが、アプリケーションにSQLインジェクションの脆弱性があるとこの構文を変化させることができる。
例えば、$idの部分に以下の文字列(Bと呼ぶ)が入ったする。

';DELETE FROM users --

すると、AにBを流し込んだ結果はいかになる。

SELECT * FROM users WHERE id='';DELETE FROM users --'

結果、SELECT文1個だったものにDELETE文が追加される。

脆弱性 インタフェース 手口 データの終端
クロスサイト
スクリプティング
HTML JavaScriptなどの注入 >"など
HTTPヘッダ
インジェクション
HTTP HTTPレスポンスヘッダの注入 改行
SQLインジェクション SQL SLQ命令の注入 'など
OSコマンド
インジェクション
シェルスクリプト OSコマンドの注入 ;|など
メールヘッダ
インジェクション
senmailコマンド メールヘッダ、本文の注入・改変 改行

参考文献:体系的に学ぶWEBアプリケーションの作り方 4.1 Webアプリケーションの機能と脆弱性の対応

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩

ソフトバンククリエイティブ 2011-03-03
売り上げランキング : 4070

Amazonで詳しく見る
by G-Tools

« PostgreSQLで時間の差を求める | Main | PostgreSQLでMySQLのgroup_concat関数のようなことをする »

セキュリティ」カテゴリの記事

プログラミング、技術情報」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/57972858

Listed below are links to weblogs that reference Webアプリケーションの機能と脆弱性の対応:

« PostgreSQLで時間の差を求める | Main | PostgreSQLでMySQLのgroup_concat関数のようなことをする »

March 2017
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof