犬ターネット

FirefoxだけURLエンコードされたCR(0D)の扱いが変

2012-06-20 firefox

PHP5.3.10 で HTTPヘッダインジェクションの確認したくて、

<?php
// http://localhost/misc/a.php
if ( isset( $_GET['url'] ) ) {
  header('Location:' . $_GET['url']);
}
var_dump($_COOKIE);

ていうコードかいて、

http://localhost/misc/a.php?url=http://localhost/misc/a.php%0DSet-Cookie:abc=123

でアクセスしたら、Chrome, Opera, Safari, IE は

array(1) {
  ["abc"]=>
  string(3) "123"
}

が表示されて HTTPヘッダインジェクション成功したんだけど、Firefoxだけは、

http://localhost/misc/a.php%0DSet-Cookie:abc=123

っていうURLにリダイレクトされて、もちろんそんなファイルはないから 404 Not Found になった。

Firefoxだけなんか変?

2012/6/24にライブやります!
ライフハックブログとか