勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

$_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"]で使うようにする。

■参考サイト
http://d.hatena.ne.jp/geek-it/20120229/p1

 - PHP

  関連記事

images
PHPにて自動でファイルを呼び出す(auto_prepend_file)

設定ファイルとかをinclude('config.php')みたいに、 いちいち ...

images
PHPでファイルを添付してメール送信

PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ...

domain_world_map
ブログサービスの様にサブドメインを動的に生成する方法  

ブログサービスの様に「hoge」というログインIDを作成した際、「hoge.bl ...

images
PHPでキーや値は保持したまま順番を入れ替える

PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...

images
PHPで変数名を動的に変えて使う方法

変数名を動的に変えて使用したかった。 調べてみると可変変数というものがあり、希望 ...

images
PHPでコマンドを実行して画像を加工

PHPで画像をリサイズしたりサムネイルを作ろうとすると、 ソースが長くなって面倒 ...

images
PHPでサイトURLからtitleとRSS用URLを取得

サイトのURLからRSS用URLとサイトタイトルを自動で取得したかった。その方法 ...

msyql-image
MySQLでカンマ区切りの検索

カンマ区切りで入っているデータを検索する場合に ピンポイントな関数があったのでメ ...

images
PHPで画像を上下反転させ保存する

やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...

images
joinとimplode

PHPで配列を結合する時に使う関数。joinとimplode。 元々はなんかのマ ...