タグ

xmlとrubyに関するsecondlifeのブックマーク (3)

  • REXMLのDoS脆弱性

    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;

  • REXML 2.4.2のサンプル付きXPathの関数リファレンス

    このリファレンスについて これは、書籍「Ruby de XML」 内に掲載されているXPathの関数リファレンスをベースとしています。一部、 書での記述と異なる部分もありますが (注1) 、 質的には同じものですのでご了承下さい。 (注1) 書籍内では紙面の都合による不自 然な折り返しを防ぐために不必要な変数が導入されていたりします。 はじめに XPathの関数は以下の四つに分類されている。 ノードセット関数(node set function) 文字列関数(string function) ブーリアン関数(boolean function) 数値関数(number function) 関数の中にはハイフン(-)を含むものもあるが、REXMLでは、ハイフン をアンダーバー(_)に変更した関数も用意している。例えば、 a-b() という関数があったら、a-b()でも呼び出せるし、 a_b

    secondlife
    secondlife 2006/08/17
    サンプルウレシス
  • REXML: Processing XML in Ruby

    November 9, 2005 Koen Vervloesem REXML (Ruby Electric XML) is the XML processor of choice for Ruby programmers. It comes bundled with the standard Ruby distribution. It's fast, written in Ruby, and can be used in two ways: tree parsing and stream parsing. In this article, we show some basic constructs on how to use REXML for XML processing. We also introduce the use of Ruby's interactive debugger

  • 1