2009-01-01から1年間の記事一覧
徳丸さんの日記(pg_sleepをSQLインジェクション検査に応用する - ockeghem's blog)を読みました。こういう検査のマニアックな話は大好きです。このあたりのシグネチャは、私も自作ツール(参考)の検討をしていた際に相当いろいろ悩んで調べましたので、今…
id:t_komuraさんの、最新の PHP スナップショットでの htmlspecialchars()/htmlentities() の修正内容についてを読みました。見ていて気になったことが1つあります。 2. EUC-JP …(省略)… (2) \x80 - \x8d, \x90 - \xa0, \xff については、そのまま出力さ…
Anti-XSSライブラリのV3.1から、GetSafeHtml()やGetSafeHtmlFragment()といったスタティックメソッドが用意されました。これらのメソッドは、入力として与えられたHTMLやHTML断片から、JavaScriptを除去するためのものです。(参考)HTML Sanitization in An…
わんくまっちゃ445同盟 featuring Silverlight Square本日は、Silverlight関連の話が2/3、セキュリティ関連が1/3くらいでした。Silverlight関連で特に印象に残っているのは「AMF Messaging with Silverlight」「クライアントでもサーバーでもC#!」「Silv…
検査ツール作成の一環として、SQL Injection脆弱性を利用してデータを抜き出すツールを作成しました。 使い方 この手のツールを使ったことがある人は、見れば何となく分かると思いますが、簡単に説明します。まずは、検査対象のリクエストとパラメータを指定…
おととい(22日)、DELLのノートPCが届きました。注文したのが12日なので、10日くらいで届いたことになります。ただいまセットアップ中です。これまでに以下のソフトを入れました。 Becky! メールクライアント IE8/Firefox ブラウザ xyzzy テキストエディタ …
hoshikuzuさんの日記から。詰めXSS回答第弐回(分割方式)これ、SCRIPTタグの内側に挿入できるけれども、括弧など殆どの記号がはじかれてしまうアプリがあって、仕事で1回だけ使ったことがあります。とはいっても、hoshikuzuさんの記事の後半に書いてあるよ…
以前の日記では、外部からのXMLをサーバサイドでParseするアプリへの攻撃の概要について書きました。今日の日記では、何点か補足する事項について書きます。 ファイルの内容を盗み出す他の方法 前の日記の中で、サーバ上のファイルの内容を外部から盗み出す…
自宅でメインで使っているノートパソコンが壊れました。ハードディスクからゴリゴリ異音がして、データを読み込めません。もうだめでしょう。過去のメールやら写真やら、いろいろなVMイメージ(検証環境)やらを含めて、多くのデータがおじゃんになりました…
まとめると以下のようになると思います。 Oracle % _ %(全角)_(全角) DB2 % _ %(全角)_(全角) MS SQL Server % _ [ MySQL % _ PostgreSQL % _ 注意点は以下のとおり。 DB2、Oracleは、「%」「_」(全角)もワイルドカードとして解釈する SQL Server…
MySQL環境において、BlindではないSQLインジェクションがあるときに(SQLエラーメッセージが応答に含まれるときに)、欲しいデータをエラーメッセージから得る方法。 mysql> select extractvalue('<a/>',concat('/$',version())); ERROR 1105 (HY000): XPATH syn</a/>…
IE8のXSSフィルタは、WebアプリにXSS脆弱性があったとしても、それが発動する可能性を減らしてくれるものです。しかし、そのXSSフィルタが裏目に出るようなこともあります。例えば、以下のような静的なHTMLファイル(test.html)を作ってWebサーバにおきます…
以前の日記で、IE8β2のtoStaticHTML関数にバグがあると書きました。そのバグについては、発見したときにMSに報告しました。その後、特に「直した」という連絡はありませんが、IE8の正式版では修正されていました。β2にあったバグのPOCは、以下のようなもので…
「XML」「セキュリティ」という単語でWeb検索すると、多くヒットするのはXMLデジタル署名やXML暗号などを説明したWebページです。本日の日記では、それとはちょっと違うテーマ(XXEと呼ばれる攻撃)について書きます。 脆弱なコードと攻撃方法 さっそく脆弱…
だいぶ前に徳丸さんが、文字列から数値への暗黙の型変換についてまとめています。数値リテラルをシングルクォートで囲むことの是非 - ockeghem's blog徳丸さんの日記には、Oracle, MS SQL Server, MySQL, PostgreSQLの4つのDBMSを対象に、暗黙の型変換が起こ…
はせがわさんの記事です。[柔軟すぎる]IEのCSS解釈で起こるXSS (1/3):教科書に載らないWebアプリケーションセキュリティ(3) - @IT記事中では、(5) 全角文字、(6) 特定のUnicode文字、の2つは、Windows XP SP3のIE6では動作しなくなっていると書かれて…
VBScriptエスケープ法についてP.4のVBEscape関数には微妙なバグがありますね。 入力: aaa & " & bbb 期待する出力: aaa & "" & bbb 実際の出力: aaa & bbb
前回の日記からだいぶ日にちが空いてしまいました。今日は、自作検査ツールのSQLインジェクション用シグネチャについて書きます。SQLインジェクションの検査シグネチャとしては、以下の5種類を用意しています。 A. SQLエラー検出+簡易なBlind B. Blind 数値…
去年はCISSPを受けました。今年はシステム監査技術者試験を受けようかと思ってます。既にオンラインで試験の申込もして、参考書・問題集を読んでますが、システム監査なんて経験が無いもので非常に苦痛です。特に午後IIの論文とか。今のところ、合格しそうな…
SQLのlike演算子では、ワイルドカードとして解釈させたくない「%」や「_」をエスケープする必要があります。じゃあエスケープ文字として何を使えばいいんだろうか?という話になりますが、それに関して昔自分がやった失敗を思い出しました。自分がやった失敗…
ちょっと時間があいてしまいましたが、自作ツールのXSS検査について書きます。 XSSシグネチャ 検査文字列は基本的には2種類のみです。 □タイプA XXXXXX【元の値】'"<9 :&(;\qYYYYYY □タイプB XXXXXX【元の値】'":&(;\qYYYYYY ※ XXXXXX、YYYYYYはランダムな英…