タグ

phpとSecurityに関するshin1x1のブックマーク (90)

  • PHP: rfc:escaper

    This RFC proposes the addition of an SPL class (and optionally a set of functions) dedicated to the secure escaping of untrusted values against Cross-Site Scripting (XSS) and related vulnerabilities. It recognises that this involves the partial duplication of certain existing functions but raises the argument that the current division of functionality, the disparate behaviour of that functionality

    shin1x1
    shin1x1 2012/09/20
    htmlspecialchars() や json_encode() などのエスケープ機能を Escaper クラスにまとめる RFC / zf2 にはすでに実装がある https://github.com/zendframework/zf2/raw/master/library/Zend/Escaper/Escaper.php
  • 徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012

    2. 日お話しする内容 • 鉄則1: PHP自体の脆弱性対処をしよう • 鉄則2: Ajaxの脆弱性対処をしよう • 鉄則3: 競合条件の脆弱性対処をしよう • 鉄則4: htmlspecialcharsの使い方2012 • 鉄則5: escapashellcmdは使わないこと • 鉄則6: SQLインジェクションの対処 • 鉄則7: クロスサイト・スクリプティングの対処 • 鉄則8: クロスサイト・リクエスト・フォージェリの対処 • 鉄則9: パスワードの保存はソルトつきハッシュ、できればスト レッチングも • 鉄則10: 他にもたくさんある脆弱性の対処 Copyright © 2012 HASH Consulting Corp. 2 3. 徳丸浩の自己紹介 • 経歴 – 1985年 京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍

    徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
  • CGI版PHPにリモートからスクリプト実行を許す脆弱性(CVE-2012-1823)

    CGI環境でPHPを動作させているサイトには、リモートからスクリプト実行を許してしまう脆弱性があります。php.netから提供されている修正リリース(PHP 5.3.12 / PHP 5.4.2)は不完全なため、該当するサイトは至急回避策を導入することを推奨します。 概要 CGIの仕様として、クエリ文字列に等号を含めない場合は、クエリ文字列がCGIスクリプトのコマンドライン引数として指定されます。 例えば、http://example.jp/test.cgi?foo+bar+bazという呼び出しに対しては、test.cgiは以下のコマンドラインで呼び出されます。 test.cgi foo bar baz この仕様を悪用して、CGI版のPHPにコマンドライン引数としてPHPのオプションを指定できます。例えば、http://example.jp/test.php?-s というリクエストは、-s

    CGI版PHPにリモートからスクリプト実行を許す脆弱性(CVE-2012-1823)
    shin1x1
    shin1x1 2012/05/07
    CGI版を使っているならすぐに対策を!
  • PHP 5.3.9 の脆弱性に関する注意喚起

    各位 JPCERT-AT-2012-0004 JPCERT/CC 2012-02-06 <<< JPCERT/CC Alert 2012-02-06 >>> PHP 5.3.9 の脆弱性に関する注意喚起 https://www.jpcert.or.jp/at/2012/at120004.html I. 概要 PHP 5.3.9 の脆弱性情報が 2012年2月2日に公開されました。この脆弱性を 使用された場合、結果として遠隔の第三者によって任意のコードを実行される 可能性があります。 JPCERT/CC では脆弱性を使用する実証コードが公開されていることを確認 していますので、管理するサーバにおいて PHP を使用している場合は、 PHP Group が提供する修正済みバージョン (PHP 5.3.10) へアップデートする ことをお勧めします。 PHP 5.3.10 Released!

    PHP 5.3.9 の脆弱性に関する注意喚起
  • Critical PHP Remote Vulnerability Introduced in Fix for PHP Hashtable Collision DOS

    Critical PHP Remote Vulnerability Introduced in Fix for PHP Hashtable Collision DOS One Security Fix Introduces Another Today, Stefan Esser (@i0n1c) reported a critical remotely exploitable vulnerability in PHP 5.3.9 (update assigned CVE-2012-0830). The funny thing is that this vulnerability was introduced in the fix for the hash collision DOS (CVE-2011-4885) reported in December. The Vulnerable F

  • HashDoS を可視化する PHP 拡張 hashtable_dump 書いた

    2011 年の年末に HashDoS というのが話題になった. Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 要するにハッシュテーブルのキーのハッシュ値を意図的に衝突させ, 非効率な挿入を行わせることで, 効率的にサービスを妨害する, というものだ. ということをドヤ顔で書いてはいるが, 年末の時点ではこの HashDoS の原理については理解しておらず, 「データ構造を偏らせて計算量を増やすんだろう」ぐらいの漠然としたイメージしか無かった. その後, PHP の HashTable 構造体や, 一般的なハッシュテーブルの実装について調べることで, HashDoS の原理がわかってきた. ハッシュテーブルについては, いくつかの解説ページを見ながら, サンプルコードを Ruby に翻訳することで学習した. アルゴリズムとデータ構造編 第14章 ハッシュ探

    HashDoS を可視化する PHP 拡張 hashtable_dump 書いた
  • そらいさんのサイトが改竄されたそうなので解析してみた

    そらいさんのサービスが改ざん被害にあったとのことで、攻撃コードが載っていたので解析して見ました。 ということで、上記のコードを解析しましたが、難読化の仕組みは単純なのですが、コードを追いかけるのに中々疲れましたww 問題のコード問題のコードはこれです。 <?php @error_reporting(0); if (!isset($eva1fYlbakBcVSir)) { $eva1fYlbakBcVSir = "7kyJ7kSKioDTWVWeRB3TiciL1UjcmRiLn4SKiAETs90cuZlTz5mROtHWHdWfRt0ZupmVRNTU2Y2MVZkT8h1Rn1XULdmbqxGU7h1Rn1XULdmbqZVUzElNmNTVGxEeNt1ZzkFcmJyJuUTNyZGJuciLxk2cwRCLiICKuVHdlJHJn4SNykmckRiLnsTKn4iInIiL

    shin1x1
    shin1x1 2012/01/26
    なるほどー。
  • Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策

    28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には

  • PHPのセッションアダプション脆弱性克服への道のり

    (Last Updated On: 2018年8月13日)PHP Advent Calender用のエントリです。 PHPのセッション管理は非常に簡単です。セッションをsession_start()で開始して$_SESSION配列を使うだけです。便利で簡単なセッションモジュールですがセッションアダプションに脆弱であるため、一般に言われてる「ログインする時にはsession_regenerate_id()を呼ぶ」コーディングではセッションアダプションに脆弱になってしまいます。 まずは危険性と対策を紹介します。 セッションアダプションの危険性 セッションアダプションとは外部などから設定されたセッションIDを受け入れ初期化する脆弱性です。一番分かりやすい例はTrans SIDを有効にして http://example.com/index.php?PHPSESSID=1234567890 とアクセ

    PHPのセッションアダプション脆弱性克服への道のり
    shin1x1
    shin1x1 2011/12/05
    5日目! #phpadvent2011
  • PHP Vulnerability Hunter - 自動ファジングテストツール - うさぎ文学日記

    Webアプリケーションの脆弱性を見つける方法の1つにファジングがありますが、このツールはPHPのWebアプリケーションのファジングテストを自動的に行うためのツールです。ローカルのファイルに対して使うツールとなっていて、ソースコードの分析まで行うとのこと。 インタフェースはこれだけ、簡単に使えそう。果たしてその実力や如何に? 未検証なので、何かの機会で試してみたいところ。 PHP Vulnerability Hunter v.1.1.4.6 - Automated fuzz testing tool ~ The Hacker News | Hacking News | Learn Ethical Hacking Training

    PHP Vulnerability Hunter - 自動ファジングテストツール - うさぎ文学日記
  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
  • PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHP5.3.7のcrypt関数には致命的な脆弱性があります。最悪のケースでは、任意のパスワードでログインできてしまうという事態が発生します。該当する利用者は、至急、後述する回避策を実施することを推奨します。 概要 PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。 影響を受けるアプリケーション crypt関数を用い、ハッシュアルゴリズムとしてMD5を指定しているアプリケーション。 環境にも依存しますが、デフォルトがMD5の場合もあります。筆者のテスト環境

    shin1x1
    shin1x1 2011/08/23
    試してないけど、hash 関数とかならどうなんだろ。
  • phpMyAdminにおける任意スクリプト実行可能な脆弱性の検証 - ockeghem's blog

    phpMyAdmin(3.3.10.2未満、3.4.3.1未満)には、リモートから任意のスクリプトが実行可能な脆弱性があります。このエントリでは、この脆弱性が発生するメカニズムと対策について報告します。 概要 phpMyAdminには下記の2種類の脆弱性の組み合わせにより、リモートから任意のスクリプトを実行させられる脆弱性があります。 CVE-2011-2505 CVE-2011-2506 該当するバージョンは以下の通りです。 phpMyAdmin バージョン3.3.10.2未満 phpMyAdmin バージョン3.4.3.1未満 影響を受ける条件は、上記バージョンのphpMyAdminを使用していることに加えて、以下をすべて満たす場合です。 setup/index.phpとsetup/config.phpを外部から実行できる phpMyAdminのconfigディレクトリが存在し、PHP

  • WordPressのテーマやプラグインでtimthumb.phpをお使いの方は脆弱性が見つかったのでご注意! |

    WordPressのテーマやプラグインで多く使われているTimThumbという画像リサイズライブラリーに脆弱性が見つかったのでご注意を!という記事がありましたのでざっと訳します。 引用元: Vulnerability Found in timthumb.php | VaultPress Blog この脆弱性により、第三者が任意のPHPコードをTimThumbキャッシュディレクトリにアップロードでき、そのコードを実行されてしまいます。 timthumb.php もしくは thumb.php が無くても動作するならサイトから削除するようおすすめします。もし使っていないテーマやプラグインの中にこのファイルがあったらそのテーマやプラグインディレクトリごと削除したほうがいいでしょう。 どうしてもこのライブラリを使いたい方は同ページに修正方法が載ってますので参照してください。

  • phpMyAdminにて任意のコードを実行可能な脆弱性(CVE-2011-2505, CVE-2011-2506)に関する検証レポート

    phpMyAdminにて任意のコードを実行可能な脆弱性(CVE-2011-2505, CVE-2011-2506)に関する検証レポート Tweet 2011/07/29 NTTデータ先端技術株式会社 辻 伸弘 泉田 幸宏 小松 徹也 【概要】 phpMyAdminにセッション変数内のデータを変更可能な脆弱性(CVE-2011-2505)が発見されました。 この脆弱性は、phpMyAdmin上の$_SESSION配列にPHPコードを埋め込むことが可能です。また、phpMyAdminに変数を適切に処理しない脆弱性(CVE-2011-2506)が発見されました。 この脆弱性は、コンフィグ作成生成用スクリプトにおいて変数内データを適切に処理しないため、PHPコードを含むファイルを出力可能です。これらの脆弱性を組み合わせて利用することにより、Webサーバの実行権限で任意のPHPコードを実行可能となり

    shin1x1
    shin1x1 2011/07/29
    phpMyAdminを使っている人は要チェック!
  • 勝手に補足:レガシーPHPのセキュリティ対策,大丈夫ですか?未修正の脆弱性(2) - ockeghem's blog

    第4回 未修正の脆弱性(2):レガシーPHPセキュリティ対策,大丈夫ですか?|gihyo.jp … 技術評論社という記事を読みました。とても重要なことが記載されている一方で、記述の間違い及び記述もれがあるため、読者の便宜のため勝手に補足したいと思います。具体的に、PHP4系の最終版PHP4.4.9にてパッチの提供されない4つのぜい弱性についての話題です。一部のぜい弱性はPHP5.2系でもパッチが出る見込みがないものです。 CGIのDoS 元記事ではCVE-2009-3660として紹介されていますが、CVEおよびNVDのサイトを見ると、Efront 3.5.4以前の脆弱性とあります。明らかに該当しないので調べてみると、CVE-2008-3660の間違いのようですね。2008を2009とTYPOしたのでしょう。 脆弱性の中味ですが、元記事に以下のように書かれています。 この脆弱性は不正なパス

    勝手に補足:レガシーPHPのセキュリティ対策,大丈夫ですか?未修正の脆弱性(2) - ockeghem's blog
  • PHPでセキュリティを真面目に考える

    オープンソースカンファレンス2011 Hokkaido #osc11do 「PHPセキュリティを真面目に考える」 LOCAL PHP部 佐藤琢哉(@nazo) http://labs.nazone.info/Read less

    PHPでセキュリティを真面目に考える
  • PHPのsocket_connect()関数における *つまらない* 脆弱性の話 - ockeghem's blog

    Scan Tech Report(無償版)を読んでいたら、PHP には、socket_connect() 関数の脆弱性(CVE-2011-1938)があると紹介されていました。調査の結果、この脆弱性の影響を受けるPHPのバージョンとして公開されている情報は間違っているようなので報告します。 概要 Scan Tech Reportには以下のように説明されています。 PHP には、socket_connect() 関数の処理に起因してバッファオーバーフローを引き起こしてしまう脆弱性が報告されました。 http://scan.netsecurity.ne.jp/archives/51983960.html バッファオーバーフローというと影響が大きそうでびっくりしますが、この脆弱性はあまり話題になっていません。その理由は、この脆弱性が悪用されるシナリオがほとんどあり得ないからです。 もう少し、詳し

    PHPのsocket_connect()関数における *つまらない* 脆弱性の話 - ockeghem's blog
  • 『体系的に学ぶ 安全なWebアプリケーションの作り方』のススメ - hnwの日記

    (2011/03/04 14:00 追記)id:shin1x1さんのはてブコメントに基づきheader関数の挙動について修正しました。ご指摘ありがとうございました。 徳丸浩さん(id:ockeghem)が書かれたセキュリティ『体系的に学ぶ 安全なWebアプリケーションの作り方』が3/1に発売されました。このPHPのサンプルコードがふんだんに提示されているセキュリティの解説書で、セキュリティの理解を深めたいWeb技術者全員にお勧めしたいです。 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践 作者: 徳丸浩出版社/メーカー: SBクリエイティブ発売日: 2011/03/01メディア: 単行購入: 119人 クリック: 4,283回この商品を含むブログ (146件) を見る 僕はこののレビュアーとして参加させて頂きましたが、他のレビュアーの方々が

    『体系的に学ぶ 安全なWebアプリケーションの作り方』のススメ - hnwの日記
    shin1x1
    shin1x1 2011/03/05
    読みたい / header関数の件は「0x0A(\n)だけを除去する」より「0x0A(\n)が含まれるヘッダは出力(追加)しない」の方が合ってますね。\nを除去するわけではないので。 / いずれにしても値検査が大事。
  • JVNVU#479900: PHP にサービス運用妨害 (DoS) の脆弱性

    公開日:2010/12/01 最終更新日:2011/03/28 JVNVU#479900 PHP にサービス運用妨害 (DoS) の脆弱性 PHP の getSymbol 関数には、脆弱性が存在します。 PHP 5.3.3 revision 305571 より前のバージョン PHP の getSymbol 関数には、整数オーバーフローの脆弱性が存在します。 遠隔の第三者によって、サービス運用妨害 (DoS) 攻撃を受ける可能性があります。 アップデートする 開発者が提供する情報をもとに最新版へアップデートしてください。 ベンダ リンク PHP PHP - [svn] Revision 305571 US-CERT Vulnerability Note VU#479900 PHP getSymbol vulnerability allows denial of service JPCERT

    shin1x1
    shin1x1 2010/12/02
    使ってはないけど。