$_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でルーティング用ライブラリ「AltoRouter」の利用方法
PHPフレームワークのCodeIgniterを勉強していた際にルーティング機能が ...
-
-
PHPで日付の比較
以前に「締切日を設けて、今日の日付と比較して分岐させる」というもので 日付の比較 ...
-
-
CodeIgniter4でフォームからファイルをアップロードし保存する方法
CodeIgniter4.4.4でformから画像等のファイルをアップロードし、 ...
-
-
PHPの構文チェック
JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...
-
-
PHPで複数の変数に同じ値を代入する方法(多重代入 / 一括代入 / 同時代入)
PHPのソースコード上に「$a = $b = $c = 12;」みたいな見たこと ...