$_SERVER['PHP_SELF']に脆弱性あり
2014/05/19
formのaction属性とかページングのリンクとかで、
<form action="<?=$_SERVER['PHP_SELF'];?>">
<a href="<?=$_SERVER['PHP_SELF'];?>?page=<?=$page;?>">link</a>
と使ったりするけど脆弱性があるらしい。
■ソース
<html>
<head>
</head>
<body>
<form action='<?=$_SERVER["PHP_SELF"];?>' method="post">
<input type="button" value="button">
</form>
</body>
</html>
http://aaa.com/index.phpに上記を記述したとして、
「http://aaa.com/index.php/'><script>alert(1);</script>'」
というURLを叩くとブラウザによってはアラートが出てしまう。
どうも$_SERVER["PHP_SELF"]はクエリも取得されてしまうっぽい。
__FILE__か$_SERVER["SCRIPT_NAME"]で使うようにする。
関連記事
-
-
PHPにて「みんなの自動翻訳」のAPIで指定したテキストの言語判定する方法
迷惑メール対策等でメール本文が日本語のもののみ受信したい場合がある。ただ、本文内 ...
-
-
PHPでの$_REQUESTは色々危険
extract($_REQUEST)はかなり怖いよ、という話が最近あった。 でき ...
-
-
CodeIgniter4で祝日一覧APIにCURLでリクエストし結果をファイルキャッシュする方法
Codeigniter4.4.4で祝日一覧APIにCURLでリクエストしたい。尚 ...
-
-
PHPのLocationにGETパラメータとして変数を入れる方法
PHPでページ遷移したい際に以下のように記述すると思う。 header("Loc ...
-
-
PHPでdatetime型のデータを年月日時分秒に分割する方法
datetime型を年月日時分秒でそれぞれに分割させたい時に今まではいちいちex ...