[tDiary-users-talk: 0534] CSRF

Back to archive index

三輪晋( 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




tDiary-users-talk メーリングリストの案内
Back to archive index