2

レールで属性値をサニタイズする最良の方法は何ですか? コードは次のようになります。

<img alt="<%= h 'untrusted-data' %>" src="image-source-here" />

owasp.net の XSS 防止チート シートに記載されているルール2ルール 3が特に気になります。

  1. 信頼できないデータを HTML 共通属性に挿入する前の属性エスケープ
  2. 信頼できないデータを JavaScript データ値に挿入する前の JavaScript エスケープ

目的には html_escape メソッドで十分ですか? 何らかの理由で、ここでtag提供されている方法を使用できませんTagHelper。Rails 2.3.5 バージョンを使用しています。

4

1 に答える 1

3

はい、それで十分です。(別の " でも、それはタイプミスだと思います:)

<img alt="<%=h untrusted %>" src="img.png" />

h攻撃者が属性の外に出られないようuntrustedに、封じ込めを防ぎ"、置き換える。さらに、属性では解析が行われないため、属性によって何かを悪用することもできません。&quot;altalt

たとえば、ahref属性にある場合は異なります。この場合、攻撃者は、属性から出られなくても、クリックしたときに何らかの JavaScript コードを実行できたはずです。(のようにjavascript:alert(/XSSed/);)

于 2011-12-28T13:19:40.820 に答える