タグ

phpとsecurityに関するtsukkeeのブックマーク (13)

  • PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog

    なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,来はsession_regenerate_id関数をログイン

    PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog
  • Shift_JISを利用することの是非 - ockeghem's blog

    前回に引き続き、はじめてのPHPプログラミング 基編5.3対応のゆるいところ第二段は、文字エンコーディングについてだ。 書は、文字エンコーディングとしてShift_JISを採用している。しかし、家から配布されているWindows用バイナリのPHP処理系は、「--enable-zend-multibyte」というオプションが設定されていないため、2バイト目が0x5Cで終わる文字が正しく扱えない。このため、以下のPHPスクリプトはエラーになる。いわゆる5C問題である。著者には、ブログのコメントとして確認した。 <?php $a = "表"; ?> 文字列リテラルを"表\"としてやればエラーは回避できるが、わずらわしいし、第一みっともない(前世紀のスクリプトみたいだ)。 やはり、ソースコードはEUC-JPかUTF-8で記述すべきだったと思う。前に取り上げたPHP×携帯サイト デベロッパーズ

  • PHPでのセキュリティ対策についてのメモ - Liner Note

  • カリビアンコム期間限定スペシャルー無料お試し開始!

    カリビアンコム期間限定スペシャルー無料お試し開始!
  • [Think IT] 第2回:PHPのSQLインジェクションを実体験 (1/3)

    セキュリティ最前線】 セキュリティホールをついて遊ぶ 第2回:PHPSQLインジェクションを実体験 著者:大垣 靖男 公開日:2008/1/18(金) PHPSQLインジェクションを実体験 記事では、セキュリティに対する課題を実体験していく。第2回となる今回は、いよいよ実際にテスト環境を構築し、攻撃を行う。標的となるのはWebシステムの開発で幅広く利用されている「PHP」だ。 PHP体にはWebブラウザからの入力のデコード処理をはじめとして、Webシステム開発に必要不可欠な機能が組み込まれている。2008年1月3日に最後のPHP 4.x系のリリースとなる「PHP 4.4.8」がリリースされ、これ以降PHP 4.x系の開発は行われなくなった。現在はPHP 5.x系のPHP 5.2.5のみがPHPプロジェクトにより正式にサポートされている状態だ。 データベースサーバへのアクセスもWe

  • 第9回 クロスサイトスクリプティングの名称と種類 | gihyo.jp

    前回はWeb開発に不慣れな開発者が行いがちな、不適切なクロスサイトスクリプティング対策を紹介しました。今回は適切な対策を理解するために必要な、クロスサイトスクリプティングの質とクロスサイトスクリプティングの種類について解説します。 クロスサイトスクリプティングの名称 「クロスサイトスクリプティング」は、よくある攻撃方法を表した名前です。サイトをまたがって攻撃用のJavaScriptコード(スクリプト)を送るので、「⁠クロスサイト」「⁠スクリプティング」と命名したものと考えられます。 単語の頭文字を取ると「CSS」となりますが、カスケーディングスタイルシートの「CSS」と同じになり、区別できないので「XSS」と表記されるようになりました。クロスサイトスクリプティングの解説情報には「XSS」ではなく「CSS」と表記している場合もあります。 しかし残念ながらこの名前は直感的な名前とはいえません

    第9回 クロスサイトスクリプティングの名称と種類 | gihyo.jp
  • Loading...

    tsukkee
    tsukkee 2008/10/13
    SESSIONとPOSTでhashを渡して比較,SESSIONの方はunsetする
  • idea * idea CakePHP修行 に重大なセキュリティホールが! : akiyan.com

    idea * idea CakePHP修行 に重大なセキュリティホールが! 2007-07-30 久しぶりのi d e a * i d e a CakePHP修行! への返信です。 MAX_FILE_SIZEをhtmlヘルパーで書けないのか? 画像のアップロード処理をつくる【I】(CakePHP修行 #26) | i d e a * i d e aより。 さてまずはedit.htmlを変更したいのですが・・・MAX_FILE_SIZEの指定ではまりました。これってhtml helperでできないのかしらん? <?= $html->hidden('MAX_FILE_SIZE', array('value'=>'30000')); ?> 現状では書けません。この話題についてはCakePHPDBに関連しないパラメータはヘルパーで書くべきか? (Re:CakePHP修行! | idea*idea

  • [セキュリティ]画像へのPHPコマンド挿入 ― T.Teradaの日記

    だいぶ時間がたってしまいましたが、大垣さんの以下のブログにコメントしたことなどをまとめます。 画像ファイルにPHPコードを埋め込む攻撃は既知の問題 – yohgaki's blog アップロード画像を利用した攻撃についてです。 攻撃の概要 画像ファイルにPHPコマンドを挿入する攻撃は、大きく2種類に分けることができます。 1つは、画像のアップロード機能を持つサイト自身を狙う攻撃です。PHPで開発されており、任意の拡張子のファイルのアップロードを許すサイトでは、拡張子がphpなどのファイルをアップロードされる恐れがあります。 拡張子がphpなどのファイルに仕込まれたPHPコマンドは、そのファイルにHTTP/HTTPSでアクセスされた際に実行されます。攻撃者は、アップロードファイルを通じて、画像が置かれるWebサーバ上で任意のコマンドを実行することできます。 この脆弱性は、アップロード可能なフ

    tsukkee
    tsukkee 2008/10/13
    画像へのPHPコマンド挿入
  • 第6回 意外に知られていないブラインドSQLインジェクション | gihyo.jp

    前回の記事でSQLインジェクションの話は終わりにして、クロスサイトスクリプティングの話を書かせて頂こうと思っていました。しかし、6月5日に東京にて開催されたPostgreSQLカンファレンス2007でセキュリティをテーマに講演させて頂き、意外にブラインドSQLインジェクションをご存じでない方が沢山いらっしゃいました。40名ほどの聴講者の皆様にSQLインジェクションをご存じの方?とお聞きするとほぼ全ての方が知っていると答えたのですが、ブラインドSQLインジェクションをご存じの方は数名でした。 SQLインジェクションの常識 ブラインドSQLインジェクションの話をする前に、SQLインジェクションとその対策の常識について確認します。 SQLインジェクション対策として間違ってはいないが不十分な対策 エラーメッセージを表示しない(特にSQLエラー) ユーザ入力文字列をエスケープする これらはSQLイン

    第6回 意外に知られていないブラインドSQLインジェクション | gihyo.jp
  • T.Teradaの日記 - [セキュリティ][PHP]htmlspecialcharsと不正な文字の話

    PHPでは、HTMLエスケープ用の関数としてhtmlspecialcharsが用意されています。 今日の日記では、htmlspecialcharsについて書きます。これと近い働きをするhtmlentitiesについても触れます。 htmlspecialcharsの基 こんな感じで使います。 <?php echo htmlspecialchars($string, ENT_QUOTES, "UTF-8"); ?> 関数の引数は3つあります。 引数省略概要 第一引数不可エスケープ対象の文字列 第二引数可クォート文字の扱い(後述) 第三引数可文字コード(後述) 第二引数は、以下の3つの値のいずれかを指定可能です。 値エスケープ対象文字 ENT_NOQUOTES< > & ENT_COMPAT< > & " ENT_QUOTES< > & " ' 第二引数を指定しない場合のデフォルトは、ENT_

    T.Teradaの日記 - [セキュリティ][PHP]htmlspecialcharsと不正な文字の話
  • PHPでの入力値チェックのすり抜け - T.Teradaの日記

    Webアプリケーションでは、外部からの変数に対して、形式チェック(Validation)を行ないます。PHPでこれを行なう場合に、ありがちなミスをいくつか挙げてみました。 この日記は、がるさんの日記に触発されて書いたもので、いくつかの例を引用しています。 がるの健忘録(2006/11/08) - 素晴らしき自動的な世界〜或いは「型のない」世界〜 型の問題 数値と文字列の比較 <?php $input = "2'; DELETE FROM hoge; --"; if ($input == 2) { // ↑TRUEと評価される がるさんの日記で紹介されていた例に、手を加えたものです。 if文中の式がTRUEになるのは、PHPの「==」演算子が、数値型と文字列型変数を比較する際に、文字列を(かなり強引なやり方で)数値型に変換するからです。変数の比較は、同じ型同士で行なうのが無難だと思います。

    PHPでの入力値チェックのすり抜け - T.Teradaの日記
  • PHPセキュリティチェックリスト:phpspot開発日誌

    Checklist for Securing PHP Configuration | Ayman Hourieh's Blog Inside is a check list of settings that are intended to harden the default PHP installation.PHPセキュリティチェックリスト。 PHPの設定ファイルによってはセキュリティ的によろしくない場合もよくあることなので、そのチェックを行うためのリスト。 allow_url_fopen、register_globals など、一連のphp.iniに関する設定のチェックする際に役立ちます。

  • 1