[Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパーの脆弱性

Back to archive index

溝口 令雄 mizog****@gmail*****
2010年 3月 19日 (金) 21:59:25 JST


お世話になっております。溝口です。

Kenji Suzuki <kenji****@gmail*****> さんwrote:

> > これを実行すると、hoge の値が & だった場合、エスケープが二重にかか
> > って
...(中略)...
> ああ、これは 2回目以降だけ htmlspecialchars() かけるということですね。
> 二重にかけてはいけません。

あ、なるほど、そうですね。

> > XSS対策はCodeIgniterではグローバルにでもリクエスト毎にでも設定出来
> > ます
> > し、Formバリデーションクラスでも各フィールド値へのルール設定でxss_
> > clean(またはhtmlspecialchars等)を指定すればエスケープした形で整形
> > され
> > ると思うのですが、
> 
> XSSフィルタはエスケープしません。危険そうな文字を削除するという
> サニタイズ処理になります。
> 
> 参考
> http://d.hatena.ne.jp/uratch/20100120/1263958813
> 
> 
> また、ユーザガイドにも記載されていますが、非常に重いのでグローバル
> に適用することは推奨されません。

ありがとうございます。勘違いしておりました。
取急ぎ御礼まで。

よろしくお願いいたします。

                                          __________________________
_________________________________________/   Original Message
Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘルパー
の脆弱性
From: Kenji Suzuki <kenji****@gmail*****>
To  : codei****@lists*****
Cc  : --
Date: 2010/03/19 8:56:23

> Kenji です。
> 
> 
> On Thu, 18 Mar 2010 23:55:13 +0900
> 溝口 令雄 <mizog****@gmail*****> wrote:
> 
> > お世話になっております。溝口です。
> > 
> > kunitsuji <tsuji****@m-s*****> さんwrote:
> > 
> > > たとえば、htmlspecialchars()を、開発者が普通に記述すれば問題ない
> > > わけ
> > > です
> > > よね?
> > > <input type="text" name="hoge" value="<?php echo 
> > > htmlspecialchars
> > > (set_value('hoge')) ;?>"
> > 
> > これを実行すると、hoge の値が & だった場合、エスケープが二重にかか
> > って
> > 出力は、
> > 
> > &amp;amp;
> > 
> > となりました。
> 
> ああ、これは 2回目以降だけ htmlspecialchars() かけるということですね。
> 二重にかけてはいけません。
> 
> 
> > XSS対策はCodeIgniterではグローバルにでもリクエスト毎にでも設定出来
> > ます
> > し、Formバリデーションクラスでも各フィールド値へのルール設定でxss_
> > clean(またはhtmlspecialchars等)を指定すればエスケープした形で整形
> > され
> > ると思うのですが、
> 
> XSSフィルタはエスケープしません。危険そうな文字を削除するという
> サニタイズ処理になります。
> 
> 参考
> http://d.hatena.ne.jp/uratch/20100120/1263958813
> 
> 
> また、ユーザガイドにも記載されていますが、非常に重いのでグローバル
> に適用することは推奨されません。
> 
> 
> // Kenji
> 
> 
> > > ※ただし、1回目はかかって2回目はかからない、ということなので、明
> > > らか
> > > におかしいとは思います。
> > 
> > ですよね・・
> > 「各開発者の意図は関係なく、1回目は勝手にエスケープしてしまう」と
> > いう
> > のがおかしいような気もしてきました。
> > 
> > よろしくお願いいたします。
> > 
> >                                           ________________________
> >                                           __
> > _________________________________________/   Original Message
> > Subj: Re: [Codeigniter-users] 【注意喚起】CodeIgniter 1.7.2 Formヘ
> > ルパー
> > の脆弱性
> > From: kunitsuji <tsuji****@m-s*****>
> > To  : codei****@lists*****
> > Cc  : --
> > Date: 2010/03/18 15:10:21
> > 
> > >  kunitsujiです。
> > > 
> > > たとえば、htmlspecialchars()を、開発者が普通に記述すれば問題ない
> > > わけ
> > > です
> > > よね?
> > > <input type="text" name="hoge" value="<?php echo 
> > > htmlspecialchars
> > > (set_value('hoge')) ;?>"
> > > 
> > > この、set_value()そのものが、htmlspecialchars()をかけているので変
> > > 換さ
> > > れ
> > > ますよ、
> > > という仕様であれば、届出が必要だと思いますが、
> > > どちらなんでしょう?
> > > そういう仕様ではない場合、CIの脆弱性ではなく、PHPの開発者の問題で
> > > はな
> > > い
> > > かと思います。
> > > たとえば、普通にPHPのPOSTで受け取った値をhtmlspecialchars()で使う
> > > とい
> > > う
> > > のが当たり前になっていますが、そこでそれを使うかどうかは開発者の
> > > 知識
> > > の問
> > > 題であり、知ることは必要ですが、CIのset_value()の脆弱性といえるの
> > > でし
> > > ょ
> > > うか?
> > > 
> > > 
> > > ※ただし、1回目はかかって2回目はかからない、ということなので、明
> > > らか
> > > にお
> > > かしいとは思います。
> > > 
> > > 問題は1回目がかかり、2回目がかからない、という部分ですね。
> > > このあたりのCI開発側の見解をしりたいですが。
> > > 
> > > 仮に、あくまでもそういう仕様である、ということであれば、、、
> > > 2回目に開発者自らhtmlspecialchars()を適用すればいいことであります。
> > > その場合、報告の内容が変わってくると思いますが。
> > > 
> > > 2回目以降もかかるべきものが、かかっていない、という認識、仕様であ
> > > れば、
> > > set_value()の扱い方の注意勧告としてでるべきではないかと思います。
> > > 
> > > 
> > > 
> > > >Kenji です。
> > > >
> > > >
> > > >On Wed, 17 Mar 2010 14:29:36 +0900
> > > >溝口 令雄 <mizog****@gmail*****> wrote:
> > > >
> > > >> ■脆弱性関連情報の届出
> > > >>   http://www.ipa.go.jp/security/vuln/report/
> > > >> 
> > > >> には登録されてますでしょうか?
> > > >
> > > >してません。もともと私が見つけたときには、すでに本家 Forum に
> > > >あがっている情報でしたし、届け出などはするつもりがなかったので
> > > >勝手に公表してます。
> > > >
> > > >
> > > >> JVNで周知されるべきレベルの問題のようにも思います。
> > > >
> > > >そうですね。そういうルートでやるのもいいかもしれませんね。
> > > >
> > > >JVN で周知されるべきだとの考えに賛同される方のどなたか
> > > >お願いします。私はすでにガイドラインにしたがっていないので。
> > > >
> > > >
> > > >// Kenji
> > > >
> > > >_______________________________________________
> > > >Codeigniter-users mailing list
> > > >Codei****@lists*****
> > > >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
> > > 
> > > _______________________________________________
> > > Codeigniter-users mailing list
> > > Codei****@lists*****
> > > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
> > __________________________________________________________________
> > __
> > 
> > 
> > __________________________________________________Javable.Jp
> > 
> > 溝口 令雄 / Reo MIZOGUCHI
> > mizog****@javab*****
> > http://www.javable.jp/
> > 
> > 〒174-0063 東京都板橋区前野町3-33-1-402
> > Tel & Fax : 03-6318-6858 / K-TAI : 090-8053-0329
> > Skype ID : reomi2002
> > ____________________________________________________________
> > 
> > _______________________________________________
> > Codeigniter-users mailing list
> > Codei****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
> 
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
____________________________________________________________________




Codeigniter-users メーリングリストの案内
Back to archive index