トップ «前10日分 追記

"週"記

日記?ムリっ。
週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|

履歴


2008-01-03

_ [etc] あけましておめでとうございます。

昨年はいろいろお世話になりました。 今年もよろしくお願いします。

去年やろうと思っててできなかったことが山ほど有るので、今年はそれを一つずつ片付けていくのが目標かなぁ。
"週"記を維持するのが先か...

_ [etc] 画像ファイルに偽装した,HDDをフォーマットしようとするトロイの木馬がネットで話題に

情報を見つけてその画像ファイルにアクセスしようとしたときにはもう削除されてて捕獲できず。どんなファイルなのかとても興味あるので、持ってる方は見せてもらえるとありがたいです。

_ [etc] 例のメール

去年1月1日に届いてこなかった例のメールが、今年もまた来ないorz
届いてからじゃないと公表しちゃいけないらしいし、確認してもらって再送される頃にはすっかりタイミング逃した後だし、どうしたもんか。


2007-12-24

_ [etc] MyMiniCity

流行物には乗ってみよう、ってことで今更ながら作ってみた。
http://ankokuty.myminicity.com/


2007-12-18

_ [etc] tDiary 2.2.0

バージョンアップしてみた。


2007-12-16

_ [etc] 0day?

よく考えたらこれ、0day 攻撃受けたってことなのか?

こういう場合、どうしたらいいんだろ。まともにIPAとか通してると(間にステップが入る分)どうしても対応が遅くなるし。攻撃手法が公開されてるとはいえ、どのくらい知れ渡ってるのかよくわからないし。そもそも攻撃手法が出回っちゃってるものって、IPAの守備範囲なんだっけ?

オープンソースのものなら修正を開発者に押しつけるのではなく、自分(もしくはできる人)が修正版を公開して、後で本家にマージしてもらうのがいいのか?

とかいろいろ考えてたら、やられてることはずいぶん前から知ってたんだけど、結果的に対応が遅くなってしまった。申し訳ない。


2007-12-15

_ [webappsec] </xssed> Domain: devnull.jp (blueタン、thanks!!)

tDiary の category.rb に問題があるみたい。 他のサイトにも影響があるだろうということでblueタンがIPAにも通報してくれて、開発者も認識済みらしいので、近々正式に対策されたものが出てくるでしょう。

ちなみに自分のところはどうしてるかというと、自分でちょっといじってしまいました。本質的な対策じゃないけど、参考にどうぞ。

--- category.rb.old     2007-12-14 17:50:24.000000000 +0900
+++ category.rb 2007-12-14 17:51:27.000000000 +0900
@@ -339,7 +339,7 @@
                        @mode = :all
                end
 
-               if /\d{4}/ === @year.to_s
+               if /^\d{4}$/ === @year.to_s
                        @mode = :year
                else
                        @year = nil

2007-12-17追記
開発元からアナウンスが出てるので、これで対策した方がいいと思います。
tDiaryの脆弱性に関する報告(2007-12-16)


2007-09-30

_ [etc] 申し込みフォーム

テストしてくれてるのは誰だろう? A...さんかな?


2007-09-13

_ [webappsec] 新手のWebアプリ攻撃手法「XSIO」、XSSと同様の影響

ネーミングが悪いから、こういう勘違いした記事が出てきちゃう。画像に限った話ではないし、そもそもサイトをクロスしてないし。

ユーザがスタイルシート(を含んだタグ)を自由に書き込めるようなサイトの場合、画像などの表示位置をスタイルシートで指定してあげることによって、オリジナルのコンテンツを書き換えたように見せることが可能、というもの。

こんな感じ?IE7だとそれっぽく重なってくれるはず。

<img src="images/month.png" style="position:absolute;right:70px;top:21px">
<input type="text" value="お名前をどうぞ" style="position:absolute;right:0px;top:170px;background-color:white;color:black;">

今は自分でやってるからいいけど、もしコメント欄からこれができて、"日"に書き換えられちゃうと、とっても困ることになる。けど、「XSSと同様の影響」としてしまうのは、ちょっと無理があると思う。


2007-09-07

_ [webappsec][tool][audit] Cross Site Scripting Scanner

これはなかなかよさげな。

_ [webappsec] 徳丸浩の日記 - そろそろ入力値検証に関して一言いっとくか - Webアプリケーション脆弱性対策としての入力値検証について

とてもよくまとまってると思います。では、現状はどうなのか、というのを過去〜最近の経験から。

「住所欄や掲示板への投稿本文欄など、実質的に文字種を制限できない」値に対してはエスケープするなど正しく実装されてることが多いです。それが要件として明記されているのか、単にエスケープしないとデータが壊れるからか、プログラマが意図的に行っているのか、理由はよくわからないですけど。

問題がよく見つかるのは、「電話番号とか、価格とか、メールアドレスのように文字種や桁数などが限定される」値や、もっと値が限定できるはずの「hidden値やselectboxで選択された値」の方だったりします。

なので、次は何に注意して開発をすればいいかと聞かれたら、(当たり前の)入力チェックを確実に行いましょう、と答えるでしょう。根本的なセキュリティ対策ではない保険的な対策なのかもしれないですけど、十分効果が期待できると思います。


2007-08-30

_ [detect][webappsec]mod_security でログを取る

以前 Ver.1で設定していたんだけど、Ver.2になって変わっているようなので、Ver 2.1で再設定。

インストールは mod_unique_id を有効にした以外特別なことはしてないので、省略。デフォルトで入っているルールは、目的と違うので使っていない。

SecRuleEngine DetectionOnly
SecRequestBodyAccess on
SecDefaultAction "phase:1,pass"
SecAuditEngine on
SecAuditLogType Serial
SecAuditLog logs/modsec_audit.log

出てくるログはこんな感じ↓

--9672d75e-A--
[30/Aug/2007:16:10:07 +0900] ZXDGgX8AAAEAAC2lE1gAAAAA 127.0.0.1 48155 127.0.0.1 80
--9672d75e-B--
GET / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.8.1.6) Gecko/20070822 Firefox/2.0.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
 
--9672d75e-F--
HTTP/1.1 200 OK
Content-Location: index.html.ja.iso2022-jp
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Thu, 21 Dec 2006 18:47:36 GMT
ETag: "74032-65e-c3cd4200;74040-961-c3cd4200"
Accept-Ranges: bytes
Content-Length: 1630
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-2022-jp
Content-Language: ja
 
--9672d75e-H--
Stopwatch: 1188457807398529 2346 (516 525 -)
Producer: ModSecurity v2.1.1 (Apache 2.x)
Server: Apache
 
--9672d75e-Z--

リクエストする度に、こんなのが延々と1つのファイルに出力される。ログ見るとき前後を合わせてみたいのでこの形式が好きなんだけど、遅いとのこと。1リクエスト/レスポンスを1ファイルにする場合は、ログのところを以下のようにすればよい。

SecAuditLogType Concurrent
SecAuditLogStorageDir /path/to/storage/dir

2007-08-18

_ [etc] セキュリティキャンプ2007

ひとまず終了しました。関係者の皆さん、お疲れ様でした。

今年も個性的な参加者もいて、(どの講義も)濃いネタにもかかわらず楽しんでくれてたようなので良かったです。きっと消化しきれなかったんじゃないかと思うけど、まずはこんな世界があるんだということを知ってもらい、自分が天井だと思ってたものが壊れたならそれでよし。これから帰って、理解しようと勉強していくにつれ、自分がどんな講義を受けていたのかわかってくれればいいと思ってます。

それから卒業生の成長っぷりも見えましたね。某表彰の告白(きっと来週にはどこかに出るはずなのでそれまでは内緒w)もさることながら、「去年はよくわからなかったけど、ここ1年いろいろやってたおかげで今年は理解できた」って話をしてる人が何人もいたり、一晩で化けた人がいたり、うれしい限りです。

いやぁ、楽しかった〜。参加者や卒業生の活躍を肴に呑めるようになったのが一番の収穫かな(笑)

今出てる記事はこの辺かな。見つけ次第追記予定

8/22追記