三輪晋( Miwa Susumu )
miwar****@gmail*****
2012年 9月 4日 (火) 22:35:22 JST
三輪です。 tdiary というか CSRF に詳しい方はいらっしゃいませんか。 [現象] 日記を更新しようとしたところ CSRF のエラーが発生しました。 Expected base URI はたぶん意図していない URI ですよね。 <<< 500 Internal Server Error Security Error: Possible Cross-site Request Forgery (CSRF) Diagnostics: - Protection Method is 1 - Mode is preview - GET is not allowed - Request Method is POST - Referer is another page - Given referer: http://www.area51.gr.jp/~rin/diary/update.rb - Expected base URI: http://www.communitywalk.com/map/1482956 - Expected update URI: http://www.communitywalk.com/map/update.rb - CSRF key is nothing (Exception) /home/rin/public_html/diary/tdiary.rb:373:in `csrf_check' /home/rin/public_html/diary/tdiary.rb:301:in `initialize' /home/rin/public_html/diary/tdiary.rb:388:in `initialize' /home/rin/public_html/diary/tdiary.rb:452:in `initialize' /home/rin/public_html/diary/tdiary/dispatcher/update_main.rb:70:in `new' /home/rin/public_html/diary/tdiary/dispatcher/update_main.rb:70:in `create_tdiary' /home/rin/public_html/diary/tdiary/dispatcher/update_main.rb:19:in `run' /home/rin/public_html/diary/tdiary/dispatcher/update_main.rb:6:in `run' /home/rin/public_html/diary/tdiary/dispatcher.rb:21:in `dispatch_cgi' /home/rin/public_html/diary/update.rb:36:in `<main>' >>> [状況] tdiary の「設定」を眺めたら以下のようになっていました。 これは私が最後に設定した内容とは異なります。 タイトル: XRrdzDlgbIAPNwIqs 著者名: buy cialis in maine メールアドレス: fowhg****@ohszm***** 日記のURL: http://www.communitywalk.com/map/1482956 (以下略) tdiary.conf は本日 19:57 に更新されていました。 <<< rin @ sakura[~]% /bin/ls -l diary/tdiary.conf -rwxrwxrwx 1 www users 21135 Sep 4 19:57 diary/tdiary.conf >>> ウェブサーバー(httpd) のログを見たところ 123.155.68.237 が該当するようです。 POST が 200 になっています。 <<< 123.155.68.237 - - [04/Sep/2012:19:57:01 +0900] "POST /~rin/diary/update.rb HTTP/1.1" 200 11133 123.155.68.237 - - [04/Sep/2012:19:57:05 +0900] "POST /~rin/diary/update.rb HTTP/1.1" 500 1813 >>> [対策] ひとまずウェブサーバーは停止しました。 OS に不正ログインされた形跡はないようです。たぶん ('A`) 恥ずかしながら、CSRF がなぜ発生したのか、これ以上調べる方法が分かりません。 なぜ発生したのか、どこを調べればよいのか、どう対策すればよいのか ご存知のかたはいらっしゃいますか。 -- miwarin