Video
RailsでXMLリクエストのパースに使用されているREXMLに、DoS脆弱性が発見されました。XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられたXMLを解析するようなアプリケーションをサービス不能(DoS)状態にすることができます。大部分のRailsアプリケーションはこの攻撃に対して脆弱です。 XML entity explosion attackというのは、実体宣言の中で別の実体を参照することを繰り返して実体参照の処理負荷を高める手法のようですね。掲げられているサンプルコードは短いですが、実体参照を展開するとデータは30メガバイトにもなります。展開の処理方法によっては、メモリを食い尽くしてしまうのでしょう。 外部からXMLデータのPOSTを受け付けるようなサイトは注意……と言いたいところですが、XMLデータのPOSTを受け付けないはずの
Posted by Shugo Maeda on 23 Aug 2008 Rubyの標準ライブラリに含まれているREXMLに、DoS脆弱性が発見されました。 XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられ たXMLを解析するようなアプリケーションをサービス不能(DoS)状態にすること ができます。 Railsはデフォルトの状態でユーザから与えられたXMLを解析するため、大部分の Railsアプリケーションはこの攻撃に対して脆弱です。 影響 攻撃者は、以下のように再帰的にネストした実体参照を含むXML文書をREXMLに 解析させることにより、サービス不能(DoS)状態を引き起こすことができます。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE member [ <!ENTITY a "&b;
ようやく一段落したので公開。 ソースコードのレビューをするとどういったメリットがあるのか。お互いに人にソースを見てもらう、逆に見ることは知識の共有化や勉強材料として非常にためになる。プロジェクトチーム内でのレビューは、中長期的にみた時のシステム把握や標準化で役立つことが多い。 問題の表示 そんなソースコードレビューを手軽に導入できるシステムを開発したのでご紹介。Google App Engine上で動作するRietveldクローンだ。 今回紹介するオープンソース・ソフトウェアは宍道湖(しんじこ)、Ruby on Rails製のソースコードレビューシステムだ。 宍道湖は、Rietveldクローンとして、見た目をほぼそのまま踏襲して開発している。ただし認証周りや、メール周りの処理は異なるものになっている。パッチファイルの表示やダウンロード、旧版と新版を横並べにした差分表示が可能だ。 差分表示
Categories open all | close all Tags 国際化 | CSRF | パソコン | Migration | タグ | Subversion | テスト | アクセス制御 | OpenID | RESTful | デュアル・コア | フォーム | Flash | Aptana | 名称 | 認証 | スキンエンジン | rake | モデル | ドキュメント Search REST化についての考察(まとめ) ここではRucleus(仮称)でなぜRESTの設計を取り入れることにしたのか,どういう問題があるのかをまとめておきます。 RESTの意味とそのメリット Rails 2.0の目玉の一つがRESTfulな設計が簡単になったことですが,RESTの機能自体はRails 1.2で導入されています。僕自身は「RESTってWebサービスのインタフェース
最近の大田さん@mixiのところで、Rubyについて考察する機会があったのと、よういちろうの考えと同じことを思っていたので、たまには本音で書いてみる。 Railsで、最も良いところは、テストの雛形も自動的に作ってくれて、テストの敷居を下げてくれてるところだと思う。なのに、それについて触れる人があまりにも少ないような気がする。一応、私は、1年半以上、はてなのキーワード検索で毎日Railsについては調べているので、はてなでRailsについて書いている人の記事はたいてい見ています。 理由は、いくつか考えられますが、私の読みだと、テストが当たり前の人にとっては、当たり前すぎてわざわざ書く意味がないし、そうではない多くの人にとっては、ほとんどテストは書いていないんじゃないかな。 実は、テストを書くのは結構工数かかるんですよ。スクリプト言語は、コンパイラがミスを教えてくれることはないので、Javaと比
「Ruby on Rails 2.0」が公開 〜SOAPの代わりにRESTの利用を推進 メインタイトルだけなら、他の専門の方におまかせするつもりでしたが、サブタイトルで、XML Consortiumや、IT Proのサイトで、SOAP vs RESTを議論してきたものとして、感慨を覚えるものがあり、コメントしてみることにしました。 Hansson氏は、Ruby on Rails 2.0の開発にあたり、「RESTの考え方と、RESTフルなアプリケーションの構築法を推進することに重点を置いた」と述べている。 こちらの本は2007年10月出版ですが、 RailsによるアジャイルWebアプリケーション開発 第2版 作者: Dave Thomas,David Heinemeier Hansson,Leon Breedt,Mike Clark,Andreas Schwarz,James Duncan
はてなもようやくOpenID providerになったということで、試してみたんだけどこれはいい。 (そういう仕組みなんだから当たり前だけど)OpenIDで認証制御をするように実装さえすれば後は触らずとも、複数の認証サービスに対応できる。新たにOpenID providerが現れても何もしなくていい。すぐにそれを使って認証が通る。 認証APIに併せていちいちgemを入れたりしなくていいし、ログインリンクもすっきり。MNはTypeKeyとはてな認証の併用、月燈火ははてな認証とlivedoor Authの併用だから、サイドバーには二つのログインリンクが出てる。これがOpenIDならばURLを入れるフォーム一つあればいい。 実装も簡単。おもむろに、 $ sudo gem install ruby-openid $ sudo gem install openid_login_generator $
Steve Yegge / 青木靖 訳 2007年6月26日 なんて日だろう。John Lamに取り上げられると、Slashdotに取り上げられるよりひどいことになるらしい。私のチームのみんなは一日中私のことを笑っていた。どうしてこんなことになったのか見当も付かない。 雪崩のようなメールにいちいち返答するより、一括アップデートしてしまう方が良さそうだ。 しかしその前にだ、いったい今の私くらい当惑している人間が他にいるだろうか? Foo Campで行われた数々の目を見張るような議論の中で、私が即興でしたちょっとした講演——それにはどういうわけか20分前にテントからはい出 してきたばかりみたいな私の写真が添えられていて、二日酔いで道に迷い、どうして自分がセバストポルの真ん中の原っぱにいるのかも分らない様子で写っており、分ったのは どうも前の夜に朝10時の講演を引き受けたらしいということだけとい
John Lam / 青木靖 訳 2007年6月24日 Foo Campで私が最初に行ったのは、「GoogleのRailsクローン」と題するSteve Yeggeの講演だった。このタイトルを見てどうして聞かずにいられようか? Googleはプログラミング言語として、C++、Java、Python、JavaScriptの4つを使っている。WebのフロントエンドをJavaで書きたがる人がそういるとは思えないが、それはWebフロントエンド用のJavaコードをたくさん持っているGoogleにしても 同じだ。 Googleにおける開発者の生産性を引き上げるため、Steveは会社にRails(したがってRuby)を言語として採用するように訴えたが、それが叶わないとなると(Googleはインフラでサポートしなければならない言語の数を増やすのをとても嫌っている)、 彼は欲求不満のプログラマがみんなするだろ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く