2012-04-25 11 views
0

私はクッキーLOC攻撃の影響を受け易いinclude文のユーザ入力によるハードコードされたテキスト?

に基づいて名前を持つスクリプトにファイルに、このような何かを含むと思っています:

include("sometext".$mycoockie_here."some_text.php"); 

は、このような攻撃に対して脆弱上記のコードですか? - "sometext""sometex.php"がハードコードされていても?

+1

警告を防ぐために、まずファイルを含める前にリソースが存在することを確認するために 'file_exists()'を呼び出します。しかし、周囲のオブジェクトは誰かが 'include '/ etc/passwd'のようなことをするのを不可能にします;さらに保証するためには、ファイル名の前に物理パスを記述してください。 – drew010

+1

ちょっと好奇心:なぜ尋ねる?入力を適切に検証すると、懸念する理由はありません。 _anything_を信用しないでください! – KingCrunch

+0

@キング:非常に賢明な助言:) –

答えて

5

もちろんです。誰もあなたのWebアプリケーションに送信するCookieの値を微調整できます。ですから、パス

sometext/../../../../etc/passwd[null-byte]some_test.php 

になってしまいますPHPのファイル処理関数は、NULLで終了する文字列を使用してOSへのパスを渡すに誰かがあなたのコンテンツ

/../../../../etc/passwd[null-byte] 

とクッキーを送信して想像してみてあなたはおそらく望んでいないでしょうが、

sometext/../../../../etc/passwd 

の内容を含むようになります。

関連する問題