勉強したことのメモ

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でサイトURLからtitleとRSS用URLを取得

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

images
PHPでURLを解析してクエリを抽出する方法

formからGETでURLの文字列を送信したものを、受信した側でクエリ部分のみ抽 ...

images
PHPの構文チェック

JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...

1422186794_sqliteicon
PHPとSQLiteでi-mobileのデータをグラフ化

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

images
独自タグを変換して画像を表示させる

やりたい事↓↓ ----- {$IMG1}~{$IMG5}までの独自タグがある。 ...

msyql-image
MySQLでのバッククオート

phpmyadminを使っていると←みたいな括りを見るけど これなんなん? と思 ...

images
PHPのheader関数で気になった点

結論としてページの移転の場合はexitか ページ自体を消した方がよさ下。 &nb ...

images
Ajaxでデータを受信した際にリファラのチェックをしたい

Ajaxでデータを受信し、MySQLにINSERTするプログラムがあった。そこま ...

images
PHPで複数の送信先に一括でメールを送る方法

PHPで複数の送信先に一括でメールを送信したかった。配列とかで指定するのかと思っ ...

images
PHPでステータスコードを取得する方法

サーバーの死活監視でUptimeRobotを使っていたけど、どうも正常に監視して ...