Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
この記事はシステムエンジニア Advent Calendar 2015 - Qiitaの記事です。 弊社アーキ部で@kawasimaさんに教えてもらったさいきょうの二重サブミット対策について書いていきます! 二重サブミットが発生するケース 不正な更新リクエストが発生するケースとして、以下のものが考えられます。 サブミットボタンをダブルクリックする 戻るボタンで戻って、再度保存ボタンを押す 完了ページでブラウザリロードする CSRF攻撃による不正な更新リクエスト 1. サブミットボタンをダブルクリックする 確定ボタンをダブルクリックすることによって、ユーザが意図していないリクエストが発生してしまうケース。 2. 戻るボタンで戻って、再度保存ボタンを押す 処理完了画面から戻るボタンで前の画面に遷移し、再び確定ボタンを押すケース。 本来は入力➡︎確認➡︎完了の画面遷移が適切だが、その画面遷移にな
クロスサイトリクエストフォージェリ(以下CSRF)とは、攻撃者があるウェブページを作り、そこに訪れた第三者に対して罠をしかけたリンクを踏ませ、知らないうちに別のサイトへ書き込みを行わせるといった攻撃法です。つまり、サイトをまたがって(クロス・サイト)、偽物(forgery)のリクエストを送るという手法です。 パソコン遠隔操作事件では、このCSRFの罠にはめられた被害者が、知らぬうちに横浜市の公式ページに書き込みを行っていたという被害が出ています。 CSRFの対策は、送信されてきたデータが、正規のフォーム画面からのデータなのかを判定することによって行います。 今回は、セッションIDをハッシュ化したトークン(固定トークン)を利用することによる判定を行います。 仕組み まずユーザがフォーム画面にアクセスしてきたら、サーバ側でセッションIDを元にして作成したトークンを発行します。それと同時にそのト
極める!Security Component (CakePHP Advent Calendar 2010 24日目) 2010-12-24 目次 1 この記事はCakePHP Advent Calendar 2010 24日目に向けて書きました2 Security Componentはハマり所3 パラメータ改ざん対策でハマる4 Security Componentの基本動作5 CSRF対策は、セッショントークンでフォーム画面からの送信をチェックしている6 パラメータ改ざん対策は、フォーム部品情報をハッシュで確認している7 パラメータ改ざん対策で受付可能なフォーム部品、そうでない部品8 Formヘルパーを使ったとしても受け付けてくれない書き方9 動作の詳細は、今のところソース読めとしか...10 Advent Calendarは記事を書くいいきっかけ この記事はCakePHP Advent
CakePHP1のセキュリティコンポーネントは、CSRF対策と、フォーム改竄対策がセットであるため、例えばjavascriptで動的にフォームなどを追加するとチェックに引っかかります。 CakePHP2からは、CSRF対策とフォーム改竄対策がそれぞれオプションでOFFにできます(デフォルトではどちらも有効) CSRF対策のみ行いたい場合は、コントローラのコンポーネント指定でvalidatePostをfalseにします。 public $components = array( 'Security' => array('validatePost' => false), ); 動的にON/OFFを切り替えたい場合は、コントローラで下記のようにできます。 $this->Security->validatePost = false; //改竄対応 $this->Security->csrfCheck
CakePHPでSecurityコンポーネントを使っていると、時折発生するBlackHole。 発生時はエラーログを確認するしか詳細な原因がわからないのですが、多くの場合は以下のどれかに該当するのではないでしょうか。 CSRFチェックのトークンがUseOnceなのにフォーム送信後にブラウザの「戻る」とか押してからフォームを再送した。 フォームを生成してから30分過ぎた。(トークンのデフォルト有効期限が30分) JavaScriptでHidden項目を書き換えた。 JavaScriptで入力項目を追加したり取り去ったりした。 ブラウザの戻るを想定する場合はトークンを複数回使えるように設定しなければいけません。(ただし、セキュリティー的には若干低下します) 複数回使いまわせるようにするにはControllerのbeforeFilterなどで以下のようにcsrfUseOnceをfalseにします
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
著者: 金床 <anvil@jumperz.net> http://www.jumperz.net/ ■はじめに ウェブアプリケーション開発者の立場から見たCSRF対策について、さまざまな情報が入り乱れている。筆者が2006年3月の時点において国内のウェブサ イトやコンピュータ書籍・雑誌などでCSRF対策について書かれている記事を調べた結果、おどろくべきことに、そのほとんどが誤りを含んでいたり、現実的 には使用できない方法を紹介したりしていた。そこで本稿ではウェブアプリケーション開発者にとっての本当に正しいCSRF対策についてまとめることとす る。また、採用すべきでないCSRF対策とその理由も合わせて紹介する。 ■あらゆる機能がターゲットとなりうる ウェブアプリケーションの持つ全ての機能がCSRF攻撃の対象となりうる。まずこのことを認識しておく必要がある。 Amaz
1 「CSRF」と「Session Fixation」 の諸問題について 独立行政法人産業技術総合研究所 情報セキュリティ研究センター 高木 浩光 http://staff.aist.go.jp/takagi.hiromitsu/ 情報処理推進機構 ウェブアプリケーション 開発者向けセキュリティ実装講座 2006年2月28日, 4月4日 後日配布資料 2 目次 • 前提知識の確認 – Webアプリにおけるセッション追跡と認証の実装手段 – セッションハイジャック攻撃の原理と脅威 • CSRF (Cross-Site Request Forgeries) 別名: Session Riding – 歴史的経緯、原因、脅威、技術的対策、適法な存在推定手段 • Session Fixation – 歴史的経緯、原因、脅威、技術的対策、適法な存在推定手段 3 セッション追跡と認証の実装手段 • セッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く