PHPサイバーテロの技法―攻撃と防御の実際

“PHP サイバーテロの技法”買ったっ!とてもためんなります。 今までScript InsertionというやつのことをXSSだと思ってたな、とか勉強になりつつ風呂で読んでたんですが、CSRFのところでこう書いてある。

ここではもっとも簡単な対策を施します。いわゆる「リファラーチェック法」です。

(中略)

このリファラーチェック法に対する批判は2つあります。1つは「リファラーは偽装可能である」というものです。ただ、この批判は的はずれです。よく考えればわかると思いますが、CSRFは権限保持者自身が踏むものです。偽装する理由がありません。また、リファラーを第三者が書き換えることもできませんので、チェックとしては十分、有効に機能します。もう一つの批判は、リファラーを送出しないブラウザでは、正常な操作も行えない、というものですが、これは当たっています。現実に、リファラーを送出しないことで守られる個人情報(具体的には検索エンジンへの検索文字列等)も確実にありますので、あえてリファラーを切っている人も少なくないでしょう。それを補う方法については、066ページで解説します。

わざわざサンプルまで作ってみた身としては見逃せない!リファラーチェック法なんかより以前検証した高木センセのセッションIDを渡す方法の方がいいんじゃないんだろうか。この066ページというのもPOST利用法やパラメータを全部セッション渡しする方法やワンタイムトークンが紹介されているだけだった。

ググッてみたけどこの本にそういう指摘が無いからもしやおれの理解が間違ってる?

PHP サイバーテロの技法 CSRF - Google 検索

ref: CSRF対策俺ルール2 ref: クロスサイトリクエストフォージェリ(CSRF)の正しい対策方法

Comments


Option