>  2003/12/09 (火) 16:24:54        [mirai]
> > user_input_value = '#{1+2}'
> > p "#{user_input_value}" # => "#{1+2}"
> > やっぱユーザのインプットはコードとしては解釈されないっぽいが(;´Д`)
> それとeRubyではデフォルト設定でセーフ・レベルが1になっている。このため,通常この攻撃は通用しない
> つかこういうことかな
> user_input_value = "#{1+2}"
> hage = "#{user_input_value}";
> p user_input_value
> p hage

user_input_value = "#{1+2}"
は
user_input_value = '#{1+2}'
じゃないか?
#{1+2}という内容の環境変数や標準入力を読んだ時に
変数に入るのは"#{1+2}"であって3ではないし

user_input_value = '#{1+2}'
p eval('"' + user_input_value + '"')
こうでもしなきゃ入力中の#{}は展開されないが普通こんなコード書かないな(;´Д`)謎だ

参考:2003/12/09(火)16時19分15秒