2

$filenameユーザー入力と見なすべき変数があります。

$filenameこれを次のように使用します。

header('Content-Disposition: inline; filename="' . $filename . '"');

$filenameペイロードが含まれている場合でも安全にレンダリングするには、これをどのようにエンコードする必要がありますか?

編集:これまでに見つけたものと、ここで OWASP によって提供されているものから、すべての改行文字とフォーム フィード文字をフィルターする必要があるだけでしょうか? 確認または追加情報を探しています。これらが唯一の要件であり、次のもので十分です。

preg_replace('/[\f\r\n]/', '', $filename);

編集: この質問では、検証は既に実行されていますが、ペイロードは拒否されることなくこれを通過したと想定しています。

4

0 に答える 0