トップ «前の日記(2004-04-06) 最新 次の日記(2004-04-09)» 編集

"週"記

日記?ムリっ。
半年1回の更新を目指すよう心がけます。
RSS

WebAppSec

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|07|08|09|12|
2008|01|02|
2009|04|
2010|02|

履歴


2004-04-08

_ [etc] ぼ〜っと

してます。今日は何かあったら口を出すのが仕事なので、何もなければ何もしなくていいようです。
「ネットスケープ」と一言喋っただけで他何もしてません。

時間がもったいないので、メモメモにしたまま放置してあったネタを処理するかな。

_ [doc] セキュアなプログラマー: 入力を検証する

3/26にメモしたネタ。セキュアなプログラムを作る際のキモの1つの、入力値チェックについて詳しく書いてある。

大きな間違いの一つは、「不正な」データ値をチェックしようとすることです。 (中略) それよりも、何が「正しい 」のかをきちんと決め、データがその定義に合致しているかをチェックし、その定義に合致しないデータはどんなものでも拒否するようにすべきなのです。

入力値チェックはこれが全て。その上で攻撃を検知したい場合は「不正な」データ値をチェックすればよいでしょう。

_ [doc] Detection of SQL Injection and Cross-site Scripting Attacks

3/19にメモしたネタ。SQL Injection と XSS を見つける方法について。
検知しようとしているパターンは「ありそうだなぁ」と思うんですが、検知するための正規表現にツッコミどころが満載。

/((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(;))/i

これだと、

= 〜 --

は検知されそうですけど、

= 〜 %2D%2D

とすると、くぐり抜けるんじゃないのか? URL エンコードされたままの状態で検知しようとするときっとどこかで限界がくるはずなので、1回だけデコードしてそこから検知したほうが賢いかな。もちろん、アプリケーションでも1回だけデコードしてることが前提。
そうすると同じパターンを検知する正規表現は、

/=[^\n]*(\'|(\-\-)|;)/

となってすっきり。こんなつまんないミスも減らせるでしょう。

_ というところで

今日の仕事は打ち止め。呑み行きて〜。

お名前:
E-mail:
コメント:

投稿する前にチェックボックスをチェックしてください


無料アクセス解析