From: Kazuhiro NISHIYAMA Date: 2003-03-21T22:28:01+09:00 Subject: [ruby-list:37392] Re: Secure「ではない」script の書き方 西山和広です。 In <20030321010448.903C.ARTONX@yahoo.co.jp> On Fri, 21 Mar 2003 01:08:25 +0900 arton wrote: > "#{}"がevalだということを意識しなさいよ。ということかな。誰でも、 > eval(user-input)がまずいということはわかってるはずだし。SAFELEVELの設定 > はどうか、とかいろいろあるとは思いますが。 safe levelとは無関係に sprintf("%3d #{handle}", num) と いう感じで書いていて、handleに % が含まれるとまずかったと いうことがありました。 元々は全部 #{} で埋め込んでいたのを書式指定に変えたいところが あってこうなってしまっていました。 C言語でのprintf(str);などと違って直接のセキュリティホールには なりませんが安全ではないことは確かです。 -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA)