Entries from 2008-01-23 to 1 day

eval第二引数permission denied

こっちはわりと素直。 jsobj.c /* * Script.prototype.compile/exec and Object.prototype.eval all take an * optional trailing argument that overrides the scope object. */ if (argc >= 2) { if (!js_ValueToObject(cx, argv[1], &scopeobj)) return J…

vetoの場合

unsafeWindow.consoleにGMからアクセスすると出るのは #0 0x0f2f67cb in nsScriptSecurityManager::CheckSameOriginPrincipalInternal at nsScriptSecurityManager.cpp:943 #1 0x0f2f6d55 in nsScriptSecurityManager::CheckSameOriginPrincipal at nsScript…

cross origin js security

nsScriptSecurityManagerを見ていたらjsのオブジェクトへのアクセスはget, set, call の3種類に分けて制御がかけられていて、それぞれSecurityLevelという構造体で設定しているのがわかった。 ~/mozilla/caps/include/nsScriptSecurityManager.h ///////////…

Greasemonkey0.7のセキュリティ強化の対策

0.7.20080121.0 compatibility - GreaseSpot unsafeWindow.someObject.registerCallback(function() { window.setTimeout(function() { GM_setValue("foo", "bar"); }, 0); }); ってかいたらいいよって書いてあるけど、やってみたらこれFirefox3だとunsafeWi…

マッシュアッププラットホームとデータストア

LDRユーザーは仕事サボってるのがバレバレな件 - hnwの日記こういうのを5分おきとかに取るのと、それをエクセルくらいのかんたんさでビジュアライズするプラットホームがほしい。 ビジュアライズのエンジン自体は既製品でいい。そこにパラメータを与える部分…

Components.classesにアクセスできない理由

Componentsはnativeコードで実装されているのでXPCWrapperdNativeというクラスを介してアクセスされる。 javascriptからのアクセスはXPCWrapperdNative::CallMethodを通して行われる。このCallMethodの中でセキュリティチェックが行われる。 #0 0x0f2f8569 i…