トップ 最新 追記

"週"記

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

履歴


2003-08-19

_ [etc] こっそり公開

しました。

本日のツッコミ(全2件) [ツッコミを入れる]

_ totoro [足跡べたべた]

_ みゃー [うぎゃー気がつかなかった(w 2ゲッツずしゃー]


2003-08-20

_ [defence][tool] AppShield edges InterDo in battle of Port 80 filters

ウェブアプリケーションファイアウォールと呼ばれるソフトウェア製品の比較です。あとはパフォーマンスがどのくらい落ちるのかがあるといいなぁ。

_ [etc] 某原稿

半月遅れでやっと終わった。 ご迷惑おかけしました>関係者様


2003-08-21

_ [detect] MRTG for Intrusion Detection with IIS 6

あとで読むようにメモ


2003-08-22 なんか毎日書いてるかも

_ [audit] Penetration Testing for Web Applications (Part Three)

最後のところに「便利なツール」が載ってる。試してみよう。


2003-08-23

_ [etc] 某ケーキオフ

お疲れ様でした。

_ [etc] ここ

ついに補足されてしまったようで。 いろいろとテスト中なので突然見えなくなったりするかもしれませんが、気にしないでください。 まともなネタが出てくることも期待しないでください。

本日のツッコミ(全7件) [ツッコミを入れる]

_ けん [ケーキオフで更新しないのですか?と言ったときは 巡回をしばらくしていなく、この日記の存在を今知りマスタ(笑]

_ bun [すみません。いつまで隠しとおせるか試したかったので黙ってました。]

_ bun [あとは、どのくらいのスピードで広まっていくのか観察中(笑)]

_ hiro-t [こんにちは。ついに補足されてしまったんですね。 次回のケーキオフ楽しみにしています。]

_ totoro [きっと、この日記は私以上にアクセス解析をしているに違いない。ヒトのこと言えないよねぇ・・・]

_ みゃー [へーなるほどケーキオフでハケーンされちゃったのね(乗り遅れタ]

_ connect24h [自分の日記サイトは、頻繁に書き始めて3日で発見されたぞ。]


2003-08-25

_ [audit] Penetration Testing

最近 cgisecurity.com ががんばってて、Webアプリケーションに対するテスト手法についての資料をまとめてくれています。 # OWASP がこうなるかと思っていたんだけど、うまく機能してない模様。そういえば1年前くらいに、『OWASP だめだめ』って言ってた人がいたことを思い出した。

_ [etc] とあるツール

動作検証していたのですが、Niktoと相性が悪いことが判明して、萎え〜。


2003-08-26

_ [audit][tool] HTTP Fingerprinting and Advanced Assessment Techniques

激しくいまさらですが、水着のおねーちゃんついでに聞いてきた話。Web サーバをいじってバナー表示をしないようにしても、様々なリクエストに対する応答の違いによって、Web サーバの種類とバージョンを推測できる、という話。

で、その結果を精査して作ったのが、httprint というツール。どんなリクエストを投げて推測しているのかは、以下の通り。

GET / HTTP/1.0
Host: www.example.com
OPTIONS * HTTP/1.0
Host: www.example.com
OPTIONS / HTTP/1.0
Host: www.example.com
GET /antidisestablishmentarianism HTTP/1.0
Host: www.example.com
PUT / HTTP/1.0
Host: www.example.com
JUNKMETHOD / HTTP/1.0
Host: www.example.com
GET / JUNK/1.0
Host: www.example.com
get / http/1.0
Host: www.example.com
POST / HTTP/1.0
Host: www.example.com
Content-length: 0
GET /cgi-bin/ HTTP/1.0
Host: www.example.com
GET /scripts/ HTTP/1.0
Host: www.example.com
GET / HTTP/0.8
GET / HTTP/0.9
GET / HTTP/1.2
Host: www.example.com
Connection: close
GET / HTTP/1.1
GET / HTTP/1.2
GET / HTTP/3.0
Host: www.example.com
Connection: close
GET /.asmx HTTP/1.1
Host: www.example.com
Connection: close
GET /../../ HTTP/1.0
Host: www.example.com
GET / HTTP/1.1
Host: www.example.com
Connection: close

反応を眺めてると、なかなか面白い。

_ [etc] また別のとあるツール

本来の機能を評価中に XSS を発見してしまった。とりあえず本来の目的の評価が終わってから報告するってことで、しばらく放置。


2003-08-27

_ [detect] アクセス解析

totoroさんに言われたのもあって試してみた。どれもサイト全体の統計を取るにはいいんだけど、人の動きを追っかけるには不十分かな。なんかいいのあれば教えてください。

_ [audit] Using Binary Search with SQL Injection

SQL Injection の応用。記事の表示などユーザ情報テーブルにアクセスしていないアプリケーションから、そこでの SQL Injection を使ってユーザのパスワードを抜くという例が挙げられている。

具体的には、

http://somesite.example/foo.php?id=123+AND+1=1(←常に TRUE になる)

とすると、あるコンテンツが表示されたとする。さらに、

http://somesite.example/foo.php?id=123+AND+1=0(←常に FALSE になる)

とすると、(エラーページとか?)別のコンテンツが表示されたとする。
これより、このアプリケーションを AND 以降の条件式の TRUE か FALSE を教えてくれる便利なアプリケーションとして使うことができる、ということになる。
それならば、

  AND (SELECT COUNT(*) FROM Usr
                       WHERE UserName = 'john'
                         AND Password >= 'f') = 1

という条件式を入れてあげると、john というユーザのパスワードが f 以上であるかどうかがわかり、もし f 未満なら次は c 以上かどうかを試し... としていくと1文字目が特定できる。2文字目以降についても同様の試行を繰り返して、最終的に john のパスワード全文字を特定することができる。

ここでは、User というテーブルがあって、そのテーブルは UserName と Password というカラムがあることがわかっている"前提"なのだが、実はこの前提情報をどうやって取得するのかが難しいんだよなぁ。

_ [audit][tool] WebScarab Release Name: 20030826-0902

あとで試してみる。(最近そんなんばっか...)

本日のツッコミ(全6件) [ツッコミを入れる]

_ totoro [有料システムであれば、こんなんありますよ。 http://www.clicktracer.net/ これなら、ページ..]

_ bun [ありがとうございます。 これはこれですばらしいのですが、9月ネタとの絡みで Web サーバのログだけから追っかけられ..]

_ totoro [WEB TRENDSなら、出来た様な感じがします・・・。 1度触っただけなので、確証が有りませんが。]

_ totoro [ここのコメントって、長く書くと途切れるのね]

_ bun [WebTrends は評価用ライセンス待ちなので、あとでやってみます。]

_ bun [WebTrends を試してみましたが、やっぱ人の動きを追いかけるところまでは見えないようでした。]


2003-08-28

_ [audit][tool] WebServerFP

SecuDiaryより。httprint と同様に Web サーバーフィンガープリンティングツール。シグネチャのカスタマイズができる分 WebServerFP の方が好きなのですが、シグネチャに書ける項目がレスポンスヘッダの順番とレスポンスコードだけなのが寂しい。

Apache の 1.3系と 2.x系 を見分けるのに、

$ echo -e 'OPTIONS * HTTP/1.0\n\n' | nc www.example.com 80

とやってみて、レスポンスの Allow ヘッダを比較するってのをよくやっている。

1.3系
Allow: GET, HEAD, OPTIONS, TRACE
2.x系
Allow: GET,HEAD,POST,OPTIONS,TRACE

このへんがシグネチャに書けると...
いろんなデータを集めてからじゃないとなんとも言えませんが。

本日のツッコミ(全7件) [ツッコミを入れる]

_ hiro-t [httprintは今ひとつシグネチャーが何を意味しているかわからないですよね。ソースが公開されていれば、よいのですが..]

_ bun [わからないですねぇ。自分でツールを作れるほどの技術は持ち合わせておりませんが、とりあえずデータだけでも集めてみようか..]

_ bun [リンクはお好きなようにどうぞ。ここのサーバが貧弱なので大量のアクセスに耐え切れるかどうかが心配ですが、そんときゃそん..]

_ けん [反応しようと思ってすっかり忘れておりました。 http://www.thc.org/download.php?t=..]

_ hiro-t [けんさんとこに載ると、どかっとくるんですよね。(笑]

_ bun [ありがとうございます。追々サクッっと試させていただきます。 とりあえず、9月ネタを作らねば。]

_ bun [厳戒態勢で待機しとかナイト(笑)]


2003-08-29 木曜日?

_ [etc] だめだめ

今日は木曜日だと思っていましたが実は金曜日だということが発覚して、急にだめだめモードに入りました。仕事も某資料もやる気にもならなかったので、現実逃避してしまいました。

_ [audit][tool] THC-Vmap

けんさんのツッコミより。vmap-0.6.tar.gz

テストリクエストは次の通り。

HEAD / HTTP/1.0
OPTIONS / HTTP/1.0
TRACE / HTTP/1.0
CONNECT / HTTP/1.0
GET bogus.http / HTTP/1.0
OPTIONS * / HTTP/1.0

シグネチャはこんな感じ(http/wo/Apache-1.3.26)

HTTP/1\.1 302 Found\+
Date: .*\+
Server: .*\+
X-Powered-By: .*\+
X-Accelerated-By: .*\+
Set-Cookie: .*; path=/\+
Expires: .*\+
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\+
Pragma: no-cache\+
Location: .*\+
Connection: close\+
Content-Type: text/html;.*\+

レスポンス丸ごとパターンマッチしているような感じ。カスタマイズが自由にできそうでよい。ただし、デフォルトで持っているシグネチャが少ないので、誤検知が激しい。

ソースもシグネチャも公開されているので、ごりごりいじって使う上級者向け。 ちなみに http 以外に、ftp、imap、pop3、smtp のバージョン推測をする機能も持っている。

_ [audit][tool] HMAP - Web Server Fingerprinter

こちらもけんさんのツッコミより

とりあえず動かしてみたら結果が出てくるまで妙に時間がかかった。何かと思ったら、テストパターンが 100 種類以上と異様に多い(KNOWN_TESTS)。本当にこんなたくさんのテストが必要なのか疑わしいが、大は小を兼ねるということで。

シグネチャを見てみると、レスポンスメッセージ・テストに対するレスポンスコード・レスポンスヘッダの順番で判断しているようだ。カスタマイズ可能。これはなかなか使えそうですな。

_ [audit][tool] iis404id.pl

さらにけんさんのツッコミより

GET /r.asp HTTP/1.0

というリクエストを投げて、その 404 ページから判断をしようというもの。ただし対象は IIS のみ。
ソースコード内のコメントにあるように、カスタマイズされたエラーページが返ってくる場合には使えない。あと、/r.asp が存在してしまった場合もうまくいきません。(こちらはソースコードをいじって他の URL で試すようにすればよいですが)

これだけだとどうにもならないでしょうが、他のツールが持っていなかったユニークな判断方法を持っているので、併用すると吉。

_ [etc] さてと、

そろそろ真面目に、日記巡回しないと

本日のツッコミ(全6件) [ツッコミを入れる]

_ みゃー [最近はハテナをつくるともれなくこぢこぢのアンテナに入れられるみたい。(w やっぱりこうゆう細々したところのほうが好き..]

_ bun [あ、来た...]

_ totoro [今日って水曜日じゃなかったんですか? てっきり、水曜日とばかり思いこんでました。]

_ みゃー [あ。来た。。ってナンダヨー(`Д´)ノ うーん今日は金曜日だよ。どこの星にいるの?>黒いtotoro]

_ totoro [うぎゃぁ!黒くないぞ!。原稿書くために缶詰になってたら、曜日の感覚がなくなったんだよ〜]

_ connect24h [足跡ぺたぺた。]


2003-08-31

_ [defence] Securing Apache: Step-by-Step

ずいぶん前のだけど読んでなかったのでメモ。併せて、Securing PHP: Step-by-stepSecuring MySQL: step-by-stepも。

2004/06/22 追記
Securing Apache 2: Step-by-Stepも。


無料アクセス解析