タグ

securityとphpに関するdesignstalkerのブックマーク (9)

  • 安全なPHPアプリケーションの作り方2014

    2. 徳丸浩の自己紹介 • 経歴 – 1985年京セラ株式会社入社 – 1995年京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – HASHコンサルティング株式会社代表http://www.hash-c.co.jp/ – 独立行政法人情報処理推進機構非常勤研究員http://www.ipa.go.

    安全なPHPアプリケーションの作り方2014
  • とっても簡単なCSRF対策 - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 CSRFおよびその対策の仕組みに関してはこちら↓ これで完璧!今さら振り返る CSRF 対策と同一オリジンポリシーの基礎 - Qiita この記事は,PHPにおけるワンタイムトークンを用いた実装例を示すものです。執筆日が少々古いものになるのでご了承ください。 コメント欄の議論に関するまとめ 以下,XSS脆弱性が存在しない前提.この脆弱性があるとあらゆるCSRF対策がほとんど意味をなさなくなるので,まずここから潰しておくこと. セッション固定攻撃に対する対策 ログイン後にsession_regenerate_idを必ず実行する. ログアウト後にsession_destroyを必ず実行する. CSRF攻撃に対する対策 セッションIDを抜か

    とっても簡単なCSRF対策 - Qiita
  • JSON SQL Injection、PHPならJSONなしでもできるよ

    DeNAの奥さんと、はるぷさんがJSON SQL Injectionについて公表されています。 The JSON SQL Injection Vulnerability 不正なJSONデータによるSQL Injectionへの対策について (Json.pm+SQLクエリビルダー) 上記の記事は、主にPerlスクリプトがJSONデータを受け取るシナリオで説明されています。もちろん、この組み合わせに限定したはなしではないわけで、それではPHPではどうだろうと思い調べてみました。 JSON SQL Injectionとは 以下、はるぷさんの「不正なJSONデータによる…」にしたがってJSON SQL Injectionについて説明します。 Perl向けのSQLジェネレータの一つであるSQL::Makerにおいて、以下のスクリプトを想定します。 my ($sql, @bind) = $builde

  • PHP でパスワードを保存するなら Blowfish でハッシュしよう | バシャログ。

    今週末に劇場公開される『平成ライダー対昭和ライダー 仮面ライダー大戦 feat.スーパー戦隊』に草加雅人が登場するときいて期待よりも不安に駆られている kagata です。仮面ライダーが30人も出てくるお祭り映画で、彼の腐りきった性根もとい、複雑に屈折したキャラクターを描ききることができるのでしょうか。いきなりいい奴になってたらどうしよう…そう、たとえば劇場版ジャイアンのように…。 さて、今回は PHP とパスワードハッシュのお話です。パスワードを平文で管理していた時代は遠く過ぎ去りました(と思いたい)。またパスワードハッシュのアルゴリズムも、かつてよく使われた MD5 や SHA1 よりも安全とされるものが登場しています。そんな中、今現在のベストプラクティスはどうなっているのか、PHP マニュアルの公式(?)見解をひもといてみました。 PHP マニュアルの見解 PHP マニュアルにはその

    PHP でパスワードを保存するなら Blowfish でハッシュしよう | バシャログ。
  • PHPでのセキュリティ対策についてのメモ - Liner Note

  • すごいリロード対策 - p4lifeのメモ

    メモ, PHPPHP TIPS】 58. すごいリロード対策紹介されているのはシンプルなワンタイムトークン.単純なリロード対策であれば ticket の値は乱数でなくても良い.ここを乱数にすることで CSRF 対策も兼ねている.ただこの方法は,場合によってはフォームを正常に送信できなくなってしまう問題がある. 例えば,入力画面→入力確認画面と遷移してから別のウィンドウで入力画面→入力確認画面と遷移すると,前の入力確認画面のフォームは ticket が無効になり,フォームを送信できなくなる(複数画面同時編集ができない). 解決策としては,発行したトークンを全て記憶しておき,POST されたトークンと照合する方法がある. confirm.php session_start(); $token = sha1(uniqid(mt_rand(), true)); // トークンをセッションに追加す

  • Moony::log - PHPだけでBasic認証

    何かの拍子で使わないとも限らないのでメモ代わりに書いておく。ざっくりと流れだけ。 <?php if (!authenticate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) { header('WWW-Authenticate: Basic realm="title here"'); header('HTTP/1.1 401 Unauthorized'); echo 'Authentication failure.'; exit; } function authenticate($user, $password) { return ($user === VALID_USER && md5($password) === VALID_PASSWORD); } ?> authenticate関数の部分でデータベースアクセスするようにす

    Moony::log - PHPだけでBasic認証
  • PHPで安全なセッション管理を実現する方法

    _ 残り容量が数十Mバイトになっていた PCがなんかくそ遅いなーと思ってふと空きディスク容量をみたら、残り数十Mバイトまで減っていた。Folder Size for Windowsで各ディレクトリ単位のディスク使用量をながめてみたところ、 Thunderbirdでimapでアクセスしているアカウントのデータフォルダに、なぜか1GバイトオーバーのINBOXファイルがあった。なにこれ? 削除したけど別に動作には支障はなし。 puttyのlogが無限に追記されたよ……。数Gバイト。 昔ダウンロードしたCD/DVD-ROMのisoイメージファイルが、そこかしこに消されず残ってたよ。10Gバイトオーバー。 あと、細かいテンポラリディレクトリの中身とか消したら、30Gバイトくらい空いた。そこまでやって久しぶりにデフラグを起動したら、表示が真っ赤(ほとんど全部断片化されている)だったので、最適化実行中。

  • 【PHPカンファレンス2006】PHPで書かれた実際のアプリケーションに潜む危険なコード

    「(PHPで書かれたアプリケーションには)アバウトなコードが多い」。エレクトロニック・サービス・イニシアチブの大垣靖男社長は,2006年8月19日に開催されたPHP関連イベント「PHPカンファレンス2006」の講演「危険なコード」で,PHPで書かれたアプリケーションに存在する危険なコードを指摘した。講演の中では,実際に存在するアプリケーションの名前を出し,そのソースコードからセキュリティ上危険な個所を挙げていった。「安全なコードを書くには悪い例も知っておかなければならない」というのが同氏の主張である。 大垣氏はまず,「セキュリティのリスクはサブシステムとの境界の部分で発生する」と指摘した。サブシステムとは,データベース,メール・システム,ユーザーのWebブラウザといった外部のシステムのこと。「境界で入力時にきちんとバリデーション,出力時にきちんとエスケープ処理(フィルタリング)を行えば,か

    【PHPカンファレンス2006】PHPで書かれた実際のアプリケーションに潜む危険なコード
  • 1