2011-08-01 11 views
1

これはOGNL評価のセキュリティ上の欠陥に関するものです。
誰かがこれがどのように悪用されているかの例を挙げることができますか?[ww-2160 struts] <s:プロパティ値=%{'xyz'}>

私はリクエストパラメータおよびサーバは、クライアントにこの裏を返してい想像:
http://test/xyz=test

私はアクションクラスにゲッターとセッターとxyzという名前の変数を持っており、JSPに私が持っている:

<s:property value="%{xyz}" /> 

誰かがURL http://test/[email protected]@exit(0)を使用している場合はどうなりますか?

答えて

1

最初に、あなたがリンクしたチケットは2007年に修正されました。私はその問題が正確に何だったのか分かりませんが、もはや関連性がないようです。

誰かがURL http://test/[email protected]@exit(0を使用している場合はどうなりますか?

JSPページは文字列リテラル@[email protected](0)を出力します。

OGNL式は、Struts2タグ内で処理されます。この場合、文字列リテラル%{xyz}は、setValue(String)メソッドPropertyTagに渡されます。そのタグの中で、その文字列は値スタックに対して評価され、結果の値は@[email protected](0)になります。その値が出力されます。