> 2003/12/09 (火) 16:33:54 ◆ ▼ ◇ [mirai]> > それと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 + '"')
> こうでもしなきゃ入力中の#{}は展開されないが普通こんなコード書かないな(;´Д`)謎だ
わざとぜい弱に作ったWebアプリケーション
意図的にShadowファイルのアクセス権を緩くしていた
セーフ・レベルを落としている
わざとevalを使った(´ー`)
参考:2003/12/09(火)16時24分54秒