すごい面白かった。会いたかった人にも沢山会えたし。 適当な感じのスライドですが、そこそこ反応があって嬉しかった。 [Shibuya.xss] セキュリティ小ネタ二本 View more PowerPoint from send_
Sinatra で以下のように書いたとき Haml::Template::options[:escape_html] = true このようなエラーが出ることがある uninitialized constant Haml::Template (NameError) ものによって出たり出なかったりなのでどういうタイミングでどう書いてあったら期待…
Facebook ではてなスターを使いたかったんだけど、 SiteConfig 書いただけだと HatenaStar Everywhere が満足に動かなかったので、ちょこっと user.js 等を書いたりした。 いるもの Greasemonkey http://s.hatena.ne.jp/js/HatenaStarEverywhere.user.js htt…
戸越近辺とか武蔵小山とかに住もうかなと考えてます。他にお薦めの街があったら教えてください。あと、MacBook Air 11インチ欲しい!
SSH の平文回復できる脆弱性対応として、Ciphers ガチガチにしていたところ、仕事で使うサーバの一部の OpenSSH が古くて aes*-ctr だと通らなくて*1少し困った。 ちょっと試してみたところ Host 毎で Ciphers 設定できたので忘れないようにメモしておく .ss…
何が危ないのか img.onerror や img.onload は src 属性の内容が評価された段階で実行されるので、外部ソースに対して HTMLDocument を構築する際などで、意図していないタイミングでスクリプトが実行されるケースがある。 具体的には、以下のような場合。 v…
この件について。 http://d.hatena.ne.jp/iskwn/20091215/1260828978 継承というかスコープがわかりやすいというのもメリットだと思うけど、カプセル化しやすいのも大きなメリットかなと思う。 function Foo(){} (function(){ var bar = 'bar'; this.bar = b…
JSCron が Cron としてはかなりいまいちで不満だったので、適当にでっちあげてみた。 http://github.com/send/misc/blob/02d97e5ba9adbc124cf218d922e0a79fe262a6f2/js/cron.js if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (elt /*…
最近、また if 文における {} 省略の話をよく見掛けるようになった。何年たっても繰り返される話なんだろうなと思う。 なので、人のことをとやかくいう前に、自分のコードの変遷を考えてみると、簡単に言うと以下の様になる。 OOP 厨以前 {} 必須派 {} なし…
Introduction of the ZSH に載ってるやりかただと乱数を使ってるために同じ色になったりしてちょっと不満だったので zshrc を以下のようにしてみた。 PROMPT_COLOR=32 precmd() { PROMPT_COLOR="$[32 + ($PROMPT_COLOR - 31) % 5]";} PROMPT=$'%{^[[${PROMPT…
なんでも JSONP で取れるので、どこかでベーシック認証通していると、認証ダイアログも出ずに DM のぶっこ抜きなんかが出来てしまったりする。 DM を JSONP で取得するデモ(ソース見て貰えればわかるけど、サーバサイドにデータ送ったりしてません) http://k…
PHP6 をそろそろ試してみようと思ったので、まずはインストールから。 OS は、 Mac OSX Tiger. インストール先は /opt/local/php6 .まずは configure. ./configure \ --prefix=/opt/local/php6 \ --with-apxs2=/opt/local/apache2/bin/apxs \ --enable-filte…
URL っぽいのにリンク貼られてない場合、開くのが面倒だなと感じてきたので作った。 こういうのは GM とかの方が良いかなあとか思ったけど、重そうなので vimperator plugin で。 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/tr…
前回の続き。 ログイン項目に登録しても上手く動かなかったので、 .zlogin に仕込んで動かすようにしてる。 スクリプト自体もコマンドの取扱いをちょっと神経質にしてみたり、ちょっとした bug fix した。 supervisedium #!/bin/sh RM="/bin/rm" CAT="/bin/c…
:ldr [url] で購読。url 省略時は現在のタブ。 (function () { liberator.commands.addUserCommand(['ldr'], 'Subscribe URL with livedoor Reader', function(arg, special) { var url = (arg) ? arg : window._content.top.location; window.loadURI('http…
Adium で Twitter などのサービスを IM で受け続けていると、やがて CPU 食いまくって kill しない限り固まる現象が頻発する。 これがウザいなあとおもったので簡単な Shell Script 書いてみた。 なんちゃって daemon がこんな感じ。ファイル名は supervised…
id:HolyGrail 周りで盛り上がってたので、ちょっと調べてみた。 DOMContentLoaded イベント使ったら、計測どころを何処にしていいかわからないので、それ以外の部分で。 昔ながらのやりかた。 <html lang="ja"> <head> <title>Test</title> </head> <body> <script> var start = new Date(); </script> <div> <ol> <li><a class="events" onclick="javascript:(function(){alert(1)})()">click!</a></li></ol></div></body></html>
w.Keybind オブジェクトができる前に走るから。 ちょっと、自分が適当に混ぜ込んだ Site Info とかも混じってるけど以下、 patch 。Keybind オブジェクトができるまで、 setTimeout まわるようにした。 --- ldrfullfeed.user.js.200802119 2008-02-19 23:48:…
Firefox や、 Opera で DOMNodeInsertedIntoDocument イベントがあまりイケてなかったので、比較的マシな DOMNodeInserted イベント使って、似たような動きになるようなモノを作ってみた。 Firefox 2.0.0.12 と Opera 9.25 と Safari 3.0.4 で動作確認してま…
UTF-8 で。 // ==UserScript== // @name Twitter Append Setunakutemabushikute // @namespace http://d.hatena.ne/jp/send/ // @include http://twitter.com/home // ==/UserScript== /** * Original Source: * http://userscripts.org/scripts/show/9086 *…
いちいち個別の filter スクリプトに AutoPagerize 対応入れるのもなんかなと思ったから、ちょっと書いてみた。 こういうの userscripts.org に上げた方がいいのかな? // ==UserScript== // @name Filterize // @namespace http://d.hatena.ne.jp/send/ // @…
自分でフィルタするか、removeしろよっていうのもアレかなと思ったので使い捨てGM。 // ==UserScript== // @name Twittfilter // @namespace http://d.hatena.ne.jp/send/ // @description twitter filter // @include http://twitter.com/* // ==/UserScrip…
これで動くと思ってなかった。試してみて怖くなった。 foobar IF(true) echo "true\n"; claSs Aaa { public staTic function dump() { echo "aaa\n"; } pubLic funCtion doDump() { echo "!!!!!\n"; } } AaA::Dump(); AAA::DumP(); $Obj = new AaA(); $obj =…
分散系のこと考えてた時に出来たなにか _class_name = get_class($objs[0]); $this->_container…
id:RAVERAVER:20071013 の 人に聞かれたので、 Firebug ML 読み直しました。 ML で、 John J Barton 氏 の発言を中心に見た限りでは、こういう感じなのかな? 現象 Windows*1 Firefox 2.0.0.7 以降 Firebug 1.05 以降 Google Adsense msvcrt.dll + Google Ad…
反省点とか。 TAKESAKOメソッドでその場で資料を作ってたのでgdgdでした 調べる部分などはあらかじめ調べていたから良いかなと思ったら甘かった。 プロジェクタ等のチェックはやっておくべきだった。 フォントサイズとかコントラストとかレイアウトとかgdgd …
箇条書きテキストしか用意していなかった。超適当 Webアプリケーションセキュリティ初歩の初歩 〜はまちやの傾向と対策〜 はじめに どうセキュリティに取り組むべきか 脆弱性の殆どは、境界で起きる 基本はバリデーションとエスケープ バリデーション そのシ…
土曜日 brazilさんが上京してるということで飲んだ。 いつものエンジニア連中に混じってtwitterで見かけるようなメンツがいた。 brazilに言われたこと すごく太った? 酒焼けした? Ustreamの時の目がヤバい 顔が18禁 てか、なんかみんなひどい。さかさマン…
iframeから脱出出来ない…
時間がなかったので、数分だけ喋った。ついでにFirebugの話だけじゃないよ。 以下の、htmlを題材に使った。 <html> <head> <title>send_のほーむぺーじ</title> <script type="text/javascript"> console.log("I hate %s !!!!","Safari"); </script> </head> <body> <div id="hoge"> <form> <input type="text" name="hoge" value=""/> </form> </div> </body></html>