タグ

ブックマーク / blog.uu59.org (3)

  • uu59のメモ | Rails4でデフォルトで入るturbolinksがオープンリダイレクタと合わさると何でもできてかなり危険

    Rails 4.0で入るturbolinksですが、これが有効だと無効の環境と比べてセキュリティリスクが微増するという話です。具体的にはRailsサービス内(同一ホスト内)にオープンリダイレクタがあり、CGMサイトであるとかユーザーが任意のリンクを張れる場合に、悪意あるスクリプトがそのサービスのホスト下で実行されてしまう。というのをmalaさんに指摘されました。 Railsであれば基的にredirect_to :action => "show", :id => @model.idみたいな感じで書いてリダイレクトしてるだろうけど、redirect_to params[:hoge]みたいに書いてる場合は?hoge=http://evil.example.comとかでevilなページに飛ぶし、turbolinksと関係なくよろしくないので暇を見て直しましょう。 話を戻してturbolinksだ

  • uu59のメモ | MongoDBでもSQLインジェクションできる

    タイトルはわかりやすさ重視でつけたのでそれSQLじゃないよというのは承知の上です。 Attacking NoSQL and Node.js: Server-Side JavaScript Injection (SSJS) SSJS whitepaper(PDF) JSONをevalで作るようなのは論外として、NoSQL Injectionって項目が面白かったのでメモ。 まずMongoDBにはfind()っていうのがあるんですが、一般的にはdb.find({x: 42})のようにオブジェクトを渡してxプロパティが42のレコードを取得する、といった用途に使います。が、db.find("this.x == 42")のように文字列を渡しても同じ結果が返ってきます。これはMongoが受け取った文字列をevalしてるせいです。試しにmongoコンソールでdb.find("while(1){};retu

  • uu59のメモ | 訳:Node.jsは癌だ

    http://d.hatena.ne.jp/yosuke_furukawa/20111002/1317572377で知って、原文を読んでみたら罵倒しまくってて面白かったので全文翻訳してみました。 原文はNode.js is Cancerです。 ウェブデベロッパー逹は伝統的なやり方よりも冴えたやり方が大好きだが、伝統的なやり方がなぜ伝統になってるかというと動きやがるからだ。Node.jsのナンセンスな振る舞いにはしばらくムカついてたが、Node.js作者のRyan Dahlによるこのポストを読むまでは相手しないようにしてた。「UNIX難しいよぅ」とか弱音を吐くよく居るタイプのマヌケに肩をすくめていただけだ。 でも、家族連れのミニバンをガサ入れしたら50kgの上物ヘロインを見つけてしまった警官が世の中間違ってると感じるように、こいつの弱々しいすすり泣きの何が間違ってるのか考えた。たぶん、たぶん

  • 1