CVE-2015-1729(fixed by MS15-065)

そろそろ2015年7月のWindows定例アップデートで修正された CVE-2015-1729(MS15-065)の内容の解説と対策を書こうと思います。

回答

Q3(http://d.hatena.ne.jp/masa141421356/20150909/1441809712) 回答 Q4(http://d.hatena.ne.jp/masa141421356/20150910/1441894936)回答

Q4

何が表示されますか?(IE9以降) <script> window.onerror = function(e) { alert(arguments.callee.caller); }; var a,b,c; delete d; </script> <script> a,b c,d </script>

クイズの続き

Q3:何が表示されますか?(IE9以降) <script> window.onerror = function(e) { alert(arguments.callee.caller); }; function a(){} function b(){} function c(){} delete d; </script> <script> a(),b() c(),d() </script>

クイズの答え

http://d.hatena.ne.jp/masa141421356/20150907/1441639190Q1回答 Q2回答

クイズ

IE(9以降)でalertされるのはどの範囲?(2015/09/18追加:スマートフォン版では正しく表示されないのでPC版かモバイル版を見てください)Q1: <script> window.onerror = function(e) { alert(arguments.callee.caller); }; var a; function aa() { a();/* comment 1a</script>…

WebKitから UTF-7が消えた経緯

この記事は 脆弱性"&'\ Advent Calendar 2014 http://www.adventar.org/calendars/622 の23日目です。WebKit の UTF-7 デコーダのバグを利用した XSS (CVE-2010-1390)がどのようなものだったのか、そろそろここでまとめようと思います。エンコーディングがUT…

XSS Challenge writeup

These are writeup of XSS challenge http://www.rafayhackingarticles.net/2014/06/rhainfosec-xss-challenge-2.html 回答1 Answer #1(IE only) <script> if (location.search.length=="") { location.href = location.href + "?x=<"+"img src=. onerror=alert(1)></script>…

Object.freeze(window) vs VBScript

IE10 Release Preview では Object.freeze(window)は VBScriptのグローバル変数追加動作を阻止できない。Object.defineProperty で上書き禁止の同名のプロパティをあらかじめ作っておくと阻止できる。ちなみに追加された変数をリストアップする方法は今の所…

VBS のconstをJSで上書きしてみる

IE8だと上書きの代入でエラーになる。これは理解できる。Strict mode のときの IE10 Release Previewも代入でエラーでこれも理解できる。でも Strict mode では無いときの IE10 Release Preview の動作がよくわからない <script type="text/vbscript"> a=1 Msgbox a </script> <script type="text/javascript"> function f() { try …

イベントハンドラの扱いがよくわからない

b1とb2のclick動作の違いがどこから来るのか教えてください。 <html> <head><title>Test of Button Event</title></head> <body> <form name=f> <input type=button name=b1 value="b1" language=vbscript onclick="alert 0"> </form></body></html>

任意のスクリプトを EXECUTE と CHR と記号で表現する

入力された文字列内にASCII外の文字がある場合は、EXECUTEの引数としてASCIIだけを使った形で指定文字列の内容と同じ文字列を返す式を組み立てて(ASCII外の文字はCHRWを使って表現)、それに対して先日の変換処理を行うことで、任意のスクリプトも EXECUTE …

EXECUTEとCHRと記号だけのスクリプトの解説

これは http://d.hatena.ne.jp/masa141421356/20120911/1347376958 の解説です。

任意のASCIIで書かれたVBScriptを EXECUTEとCHRと記号だけに置換する

変換コードそのものもEXECUTEとCHRと記号だけで。

XSS例題回答

これは、XSS例題 - masa’s memo のヒントと回答です。自力で解きたい人はこの記事は読まないでください。 This is hints and answer for XSS例題 - masa’s memo. Try before read this article. (Click "続きを読む" to read more)

My XSSMe² bypasses

これは XSSMe² ( http://xssme.html5sec.org/ ) のこれまでの回答です。 Thses are my bypasses of XSSMe² ( http://xssme.html5sec.org/ ) Using XHR from CreateObject() function of VBScript VBScript は CreateObject()を組み込み関数として持っていて…

EL Injection Cheat Sheet

What is EL Injection Vulnerability of Spring Framework : CVE-2011-2730. Caused by double evaluation of Expression Language .It was by Stefano Di Paola, MindedSecurity (@WisecWisec) And Arshan Dabrirsiaghi, Aspect Security Detail is here: h…

ELインジェクションCheat Sheet

ELインジェクションとは何か Spring Framework に存在した脆弱性 CVE-2011-2730 です。これは EL式を2重実行することで引き起こされます。発見者は MindedSecurity の Stefano Paola (@WisecWisec) 氏と Aspect Security の Arshan Dabrirsiaghi 氏で、詳細…

document.head がいつも同じ値である保証は無い

<html> <head id=headelement> <title>document.head></title> <script> var id1=document.head.id; </script> </head> <body> <script> var id2 = document.head.id; </script> <form name=head id=formelement><input type=text></form> <script> var id3 = document.head.id; document.write(id1); document.write("<br>…</body></html>

XSS例題

alert(1)を実行させてください。ただし、リンク先のサーバへの細工は一切出来ないものとします(javascriptスキームへのリダイレクトとかは禁止ということで)。Execute alert(1), but you can not customize server linked from IMG element (for example, …

「体系的に学ぶ 安全なWebアプリケーションの作り方」

徳丸さんの待望のセキュリティ本。3月1日発売です。微力ながら私もレビューに参加させていただきました。 どうして脆弱性が発生してしまうのか どうすれば防ぐことが出来るのか 具体的にどのようなコードを書くべきか というところをきちんと体系的に押さえ…

decodeURI("%C0%80") だけでもある程度ブラウザ判別できる

"%C0%80" がそのままならOpera 10.x もしくはそれ以前 "\x00" になれば "IE" "\uFFFD" になれば Firefox 3.5 以前 ECMAScript5の仕様に従っていれば例外(URIError)を投げる(Chrome, Safari, Opera 11)

decodeURI関数の動作でブラウザ判別

function getBrowserNameByDecodeURI() { //Firefox's decodeURI decodes percent-encoded U+FFFF and U+FFFE as U+FFFD if (decodeURI("%EF%BF%BF") == "\uFFFD") { try { //see http://d.hatena.ne.jp/masa141421356/20091009 decodeURI("%F0%81%80%80"); …

XHTMLでの文字実体参照定義の上書きによるXSS

XSS

] > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>XHTML Entity Hijacking Example</title> </head> …</html>

Javaの「すでに最新」を信用してはいけない

その理由は アップデート情報の取得の途中で失敗しても「すでに最新」と言い張る Java6u16以前にはアップデートに失敗するバグがある アップデート情報ファイルの更新ミスが多い(前科の一例) ちなみに、昨日の時点でのアップデート情報ファイルには Java 6…

Java Update message problem.

http://blogs.sun.com/security/entry/advance_notification_of_security_updates7・ツールバー類のバンドルが無くなった Bundled toolbars are removed (It is good).・作り直した画面のデザインはお世辞にもいいものとはいえない But design of new dialog…

JIRAサーバがやられた

ApacheのJIRAサーバがやられたらしい。 https://blogs.apache.org/infra/entry/apache_org_04_09_2010 パスワードを変更しろというメールが来た。

Oracle+JavaでPreparedStatement

安全なSQLの呼び出し方 非常に細かい所なんですが、Oracle + JDBC の場合は、文字列リテラルを使った式とプレースホルダを使った式が等価では無い場合があるので、プログラムを書き換える時には注意が必要です。具体的な事例として java-houseでの例を紹介し…

バグ報告ウィザードの日本語フォントは何とかならないものか

DSK-286162 で報告はしておきましたが、Operaのバグ報告ウィザードの 日本語のフォントだけデザインが英数字のフォントと全く違うのは もう少し改善できませんか? > id:saiton さん 日本語入りでレポートしないと意味が無い時にこれは困る。 3/12追記 10.51…

サーバーが

Opera 10.50 を入れてみた。「サーバーが」の続きが気になる。 その後 10.51RC3でも直っていない。今のOperaの完成度からするともっといういう細かい所まで手が回らないのも当然かと思うが 直った 10.52でセキュリティ情報画面の変更が入って直りました。