$_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でフォーム送信の際に禁止ワードのチェック及び制限をかける方法
掲示板等のformを送信する際に特定の禁止ワードが含まれていないかチェックするプ ...
-
-
Google Maps APIとPHPを組み合わせて複数マーカーとウィンドウを連携させる方法
やりたかった事は以下の通り。 mysqlから経度緯度、マーカー名、マーカーIDを ...
-
-
PHPで数字をゼロパディング(ゼロ埋め)する方法
PHPで予め桁数を決めておいて、桁数未満の場合は0で埋めたい場合の対応方法をメモ ...
-
-
PHPの配列でキーの最大値を取得
PHPの配列でキーの最大値を取得したかった。以下で対応する。 $test = a ...
-
-
CodeIgniter4でCronを実行する方法
CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...