2. アジェンダ • SQLインジェクション対策もれの責任を開発会社に 問う判決 • PHP入門書のSQLインジェクション脆弱性の状況 • O/RマッパやSQLジェネレーターのSQLインジェク ションの話題 – Rails SQL Injection Examplesの紹介 – Zend FrameworkのSQLインジェクション – JSON SQL Injection – Drupageddon(CVE-2014-3704) Copyright © 2008-2015 HASH Consulting Corp. 2 3. 徳丸浩の自己紹介 • 経歴 – 1985年 京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年 KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何
こんにちは。宇都宮です。 昨年末、著名なPHP開発者・Anthony Ferrara(ircmaxell)氏のブログに、PHP Install Statisticsという記事が掲載されました。この記事では、W3Techsの統計を元に、現在Web上に公開されているPHP製サイトのバージョン情報を調べ、いかに多くのPHP製サイトが、脆弱でサポートの切れたバージョンを使用しているか、解説しています。 この記事によると、PHP製サイトのおよそ7割強は、脆弱性があるか、又は既にサポートが切れているバージョンのPHPを使用している、としています。記事の冒頭には、他の処理系やアプリケーションとの比較がありますが、PerlとPythonでは安全なバージョンの使用率が8割前後なのに対して、PHPの安全なバージョンの使用率は25%と、非常に悪い数字になっています。 どのバージョンが安全か では、安全なバージョ
なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPのSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,本来はsession_regenerate_id関数をログイン
(Last Updated On: 2018年8月13日)PHP7では整数型、浮動小数点型、配列型のタイプヒントが追加されます。データ型をより厳格に取り扱うようになるのは良い事ですが、データ型を変換してしまうため問題となる場合もあります。 データ型は指定した型に変換すればよい、という単純な物ではありません。私はデータ型を変換しない方のRFCを支持していました。残念ながらこちらのRFCでなく、問題が多い方のRFCが採用されることになりました。 参考 PHP7のタイプヒントの使い方 タイプヒントとは? そもそもタイプヒントを使ったことが無い方も多いと思います。PHPはオブジェクトのクラスを「タイプヒント」として指定することが従来から可能でした。例えば、 function (MyClass $obj) { // Do something } のようにタイプヒントとして”MyClass”を指定し、
(Last Updated On: 2021年3月25日) PHP 5.6からタイミング攻撃に対する対策が導入されます。メジャーなアプリケーションはタイミング攻撃対策が導入されていますが、PHP 5.6から簡単に対策できるようになります。 タイミングセーフな文字列比較関数はhash_equalsとして実装されました。 http://php.net/manual/es/function.hash-equals.php タイミング攻撃とは タイミング攻撃とは、コンピュータが動作する時間の違いを測って攻撃する、サイドチャネル攻撃(副作用攻撃)と呼ばれる攻撃手法の1つです。HTTPSの圧縮の副作用を利用したサイドチャネル攻撃が有名です。 コンピュータの動作時間、温度、音、電子ノイズ、電力使用量など、アルゴリズム自体の脆弱性を攻撃するのではなく副産物を利用する攻撃方法でサイドチャネル攻撃の一種です。
PHP 5.5 でパスワードハッシュ関数が導入されるPHP: パスワードハッシュライブラリのコードスニペットPHP: PBKDF2 を使ってパスワードハッシュを生成するPHP: 疑似乱数の文字列を生成するPHP: openssl_random_pseudo_bytes で疑似乱数を生成するPHP: openssl_random_pseudo_bytes と mcrypt_create_iv の比較PHP: フォームに CSRF 対策のトークンを導入するPHP: フォームに CSRF 対策のトークンを導入する (その2)JavaScript: CSRF 対策のトークンヘッダーを送信する ランダムな文字列を生成するにはファイル関数を使って /dev/urandom に直接アクセスするやりかたがもっとも明快であり、OS のしくみを学ぶ機会を提供するので、教育的でもある。徳丸本でもそのやりかたが採
Overview PHPassLib is a simple, easy to use password hashing library for PHP 5.3+. Several password hashing schemes are supported by the library, including bcrypt and PBKDF2. The project is inspired by Python's Passlib. Features Multiple Hash Schemes BCrypt BSDi / Extended DES Crypt DES Crypt MD5 Crypt PBKDF2-SHA1/256/512 Openwall's Portable Hash SHA-1 Crypt SHA-256 Crypt SHA-512 Crypt PSR-0 Autol
Licence, Programming, PHP, Security 最近やっと春休みに突入することができたので、4月17日に実地される情報セキュリティスペシャリスト試験の勉強を始めたのですが、情報処理教科書 情報セキュリティスペシャリスト 2010年度版 を読み進めるだけでは、何一つとして面白くは無く、書いてあることも国家試験の性質上、抽象的な事ばかりだったりするので、それも面白みの無さに拍車をかけ、勉強に対する意欲や集中力が残念なことに持続しません。 そこで、より興味を持ちやすい具体的な事柄を勉強するべく、実際に実行に移すのは難しいISMS(情報セキュリティマネジメントシステム)関連やハードウェアの導入等を必要としない、実行に移すための敷居が低いWebアプリケーションに関するセキュリティ対策を、最近、授業で覚えたPHPを用いて、情報セキュリティスペシャリスト試験の勉強も兼ねて行ってい
こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPはセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く