トップ «前の日記(2003-08-26) 最新 次の日記(2003-08-28)» 編集

"週"記

日記?ムリっ。
半年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-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 (2003-08-27 16:50)

有料システムであれば、こんなんありますよ。<br>http://www.clicktracer.net/<br>これなら、ページの遷移がしっかりと見えますので、ページ<br>対策もしっかり出来ます。<br><br>ただし、セキュリティ的な要素は皆無なシステムなので、情報漏洩してしまう危険性がかなりありますが。

_ bun (2003-08-28 02:14)

ありがとうございます。<br>これはこれですばらしいのですが、9月ネタとの絡みで Web サーバのログだけから追っかけられるモノを探してたりしてます。かなり無理なのはわかってるのですが...

_ totoro (2003-08-28 21:25)

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

_ totoro (2003-08-28 21:34)

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

_ bun (2003-08-28 22:57)

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

_ bun (2003-09-17 11:22)

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

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

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


無料アクセス解析