タグ

securityとPHPに関するventureのブックマーク (22)

  • PHPのescapeshellcmdの危険性 - 徳丸浩の日記

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2011年1月1日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり を書いています。初稿を一通り書き上げ、第2稿を作成中です。その過程で見つけたことを報告します。 PHPのescapeshellcmdはパラメータをクォートしないので呼び出し側でクォートする必要がありますが、escapeshellcmdの仕様がまずいために、呼び出し側でクォートしても突破できることが分かりました。 escapeshellcmdの仕様 PHPにはシェルのパラメータをエスケープする関数が2つあります。escapeshellargとescapeshellcmdです。escapeshellargは、エ

  • http://fish1091.com/wordpress/archives/630

  • ECサイトソフトウェアはなぜ更新されないのか

    平穏に見えても実は…… 皆さんこんにちは、川口です。普段仕事をしていると社会人との付き合いが多くなるのですが、8月のセキュリティ&プログラミングキャンプ以降、学生の方との出会いのイベントが立て続けに2つありました。1つは弊社の親会社であるラックホールディングスの2010年度内定者向けイベント、もう1つはIT Keysと呼ばれるイベントです。 どちらも20代前半のIT系企業を志望する学生たちに対して、JSOCを見学してもらいました。このような社外向けへのイベントの対応も、エバンジェリストとしての大事な務めです。 そんな学生たちが見学したJSOCは平穏そうに見えますが、実際にはさまざまなインシデントが発生していました。今回は、学生たちがJSOCを見学していた時期である8月ころから始まった、あるインシデントの傾向について取り上げます。 Zen Cartへの攻撃 先日、オープンソースのECサイト構

    ECサイトソフトウェアはなぜ更新されないのか
  • PHPが文字エンコーディング攻撃に強い理由 – HTMLエスケープ

    (Last Updated On: 2018年8月13日)PHPが文字エンコーディング攻撃に比較的強い理由は入出力の文字エンコーディングのバリデーション(サニタイズ)が行えるだけではありません。PHPが提供するHTMLエスケープ関数が文字エンコーディング攻撃に対して強い事も理由の一つです。 PerlHTMLエスケープと言えば、<,>,&,”,’をエンティティ変換するコードが一番に見つかります。 「perl html escape」でググると一番に見つかったページは次のページです。このページではまだ3バイトEUCの場合の例、CGIモジュールを使った例も載っているので良い方でしょう。 http://saboten009.blogspot.com/2008/04/perlhtml-xss.html 少し前にPerl, Ruby,Pythonユーザは検索で有用なセキュリティ情報を得られるのか?と

    PHPが文字エンコーディング攻撃に強い理由 – HTMLエスケープ
  • PHP6移行で増える脆弱なWebアプリ

    (Last Updated On: 2009年9月19日)PHP6のリリースはまだまだ先の話なのですが、PHP6への移行で脆弱なWebアプリが大量に発生する可能性があります。 理由は2つ – mb_check_encodingで全ての入力文字エンコーディングが正しいかチェックしていない – PHP6のhtmlentities/htmlspecialcharにはマルチバイト文字チェックコードが削除される PHPのコードを書いている人も自覚していないと思いますが、この影響はかなりあると考えられます。 近日中にgihyo.jpのセキュリティブログに詳しい情報を記述します。 追記:PHP5.3のコードを見てみたら、バックポートすべきではないのにバックポートされてました。つまり、PHP6がリリースされたらと言う問題ではなく、今ある問題になっています。一応、改修を提案するつもりですがどうなるか判りませ

    PHP6移行で増える脆弱なWebアプリ
  • PHP逆引きレシピは概ね良いが、SQLインジェクションに関しては残念なことに - ockeghem's blog

    404方面でも絶賛されていたPHP逆引きレシピを購入した。書はとても丁寧な仕事で素晴らしいと思ったが、セキュリティに関しては若干残念な思いをしたので、それを書こうと思う。 目次は以下のようになっている。 第1章 準備 第2章 PHPの基構文 第3章 PHPの基テクニック 第4章 ファイルとディレクトリ 第5章 PEARとSmarty 第6章 Webプログラミング 第7章 クラスとオブジェクト 第8章 セキュリティ 8.1 セキュリティ対策の基 8.2 PHPの設定 8.3 セキュリティ対策 第9章 トラブルシューティング 第10章 アプリケーション編 PHP逆引きレシピ オフィシャルサポート 書は、タイトルの示すように、コレコレしたいという目的ごとにPHPでの書き方が書かれている。よくある逆引き辞典タイプのだが、類書に比べて丁寧に書かれている印象を受けた。私が感心したのは、PH

    PHP逆引きレシピは概ね良いが、SQLインジェクションに関しては残念なことに - ockeghem's blog
  • 乱数生成器の取扱い – PHPとPython

    (Last Updated On: 2008年9月25日)Stefan Esser氏のブログでmt_srandとそれほどランダムでない乱数(mt_srand and not so random numbers)というエントリが8/17に掲載されています。気になっていたのでPythonの実装も調べてみました。 乱数生成器は擬似乱数生成器 PHPの乱数生成器にはrandとmt_randの2種類がありますが、randはlibcのラッパー関数でmt_randはMersenne Twisterアルゴリズムを利用した乱数生成器です。乱数生成器といってもどちらも擬似乱数生成器なのでそれぞれ、srandとmt_srandで与えたシード同じであればその後に生成される乱数(擬似乱数)は同じになります。これはコンピュータサイエンス系の学科を専攻していれば常識ですが、ご存知でない方も少なくないと思います。 シード

    乱数生成器の取扱い – PHPとPython
  • セキュリティの問題でPHP 5.2.7が配布中止に

    オープンソースプロジェクトPHP Groupは、PHP version 5.2.7の配布を中止した。これは、一定の設定に影響のあるセキュリティ上のバグのためだ。 Apacheの支援を受けたプロジェクトであるPHP Groupが掲載した情報によれば、PHPユーザーは、この問題が修正されたPHP 5.2.8がリリースされるまでは、version 5.2.6を使うべきだという。 PHP 5.2.7リリースに発見されたセキュリティ上のバグにより、このバージョンは配布を中止された。このバグは、magic_quotes_gpcが有効とされた設定に影響があり、これが有効に設定されていても無効のままになってしまうという問題がある。PHP 5.2.8がリリースされるまでの間は、PHP 5.2.6を使用すること。 magic quotes機能はPHP 6.0.0で廃止され、削除される。PHP Groupは「

    セキュリティの問題でPHP 5.2.7が配布中止に
  • へぼへぼCTO日記 - CakePHPのgetClientIPを使っていいのは小学生までだよねー

    PHPで開発をすることが多くなりPerlの良さを再確認している今日この頃ですが皆さんいかがお過ごしでしょうか。 さて、今日は今もっともナウいPHPのWebアプリケーションフレームワークであるCakePHPのお話を一つ。 CakePHPには組み込みコンポーネントとしてリクエストハンドラ(RequestHandler)が備わっています。 リクエストハンドリング :: 組み込みのコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook: このRequestHandlerのメソッドであるgetClientIPが小学生には危険そうだというお話。(あ、このエントリのタイトル逆w) まずはgetClientIPの実装コードを。(1.2を例にとっているが1.1もほぼ一緒である) https://trac.cakephp.org/browser/trunk/c

  • session_set_save_handlerのパストラバーサルで任意コマンドの実行が可能

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2008年8月19日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 昨日の日記(session_set_save_handlerリファレンスマニュアルのサンプルにパス・トラバーサル脆弱性)で、PHPの公式リファレンスマニュアルに出ているsession_set_save_handlerサンプルにはパストラバーサル脆弱性があることを報告しましたが、その影響度について書き漏らしていて、影響度を過小に受け取られることに気がつきましたので補足します。 このパストラバーサルは情報漏えいよりは書き込み・破壊の影響の方が現実的というのはその通りなのですが、Web公開領域のファイルを書き換えら

  • session_set_save_handlerリファレンスマニュアルのサンプルにパス・トラバーサル脆弱性

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2008年08月18日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり PHPsession_set_save_handlerのリファレンスを眺めていて、ふと、これはパス・トラバーサルの脆弱性があるのではないかと思いました。 function read($id) { global $sess_save_path; $sess_file = "$sess_save_path/sess_$id"; // ← ファイル名の組み立て return (string) @file_get_contents($sess_file); } function write($id, $sess_

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

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

  • WordPress のテーマに XSS の恐れあり » [WordPress] Tips Community

    « 8 月 2008 9 月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 WordPress のテーマに XSS の恐れあり 5 月 19th, 2007 Security, WordPress News WordPress Japan のフォーラムで知ったのですが、多くのテーマに XSS (クロスサイトスクリプティング)の恐れがあるそうです。 WordPress 2.1 以降のパッケージに含まれる classic と default といったテーマは既に対処済みだそうですが、その他のテーマをご利用されている方は確認する必要がありそうです。 WordPress Japan :: 多くのテーマに XSS 脆弱性のおそれ (EasyAll は要確認) テーマテンプレートに

  • 13. $_SERVER['PHP_SELF']とXSS脆弱性

    皆さんは同じスクリプトへのリンクを貼る時、どの様に記述していますか? $_SERVER['PHP_SELF']を用いることがあるのではないでしょうか。これを直接用 いることは危険です。なぜならば、$_SERVER['PHP_SELF']にはクロスサイト・ス クリプティング(XSS)脆弱性が存在するからです。 $_SERVER['PHP_SELF']はしばしば次のように使われます。 <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> このページ(ここではhttp:/www.example.jp/example.php)へ下記の様にリンク を貼り、クリックしてみて下さい。 <a href="http://www.example.jp/ example.php/%22%3E%3Cscript%3Ealert(%27XS

    13. $_SERVER['PHP_SELF']とXSS脆弱性
  • 記事・ニュース一覧 | gihyo.jp

    第228回MySQLのvalidate_passwordコンポーネントでパスワードセキュリティを強化しよう 深町日出海 2024-09-03

    記事・ニュース一覧 | gihyo.jp
  • なぜPHPアプリにセキュリティホールが多いのか?:第1回 CVEでみるPHPアプリケーションセキュリティ|gihyo.jp … 技術評論社

    第228回MySQLのvalidate_passwordコンポーネントでパスワードセキュリティを強化しよう 深町日出海 2024-09-03

    なぜPHPアプリにセキュリティホールが多いのか?:第1回 CVEでみるPHPアプリケーションセキュリティ|gihyo.jp … 技術評論社
  • 複数のバグと脆弱性を修正した「PHP 5.2.0」リリース

    オープンソースのスクリプト言語、PHPの新バージョンが公開。バグフィックスに加え脆弱性も修正されている。 11月2日、オープンソースのスクリプト言語であるPHP 5の最新バージョンがリリースされた。複数のバグフィックスや機能拡張に加え、ヒープオーバーフローなど幾つかの脆弱性の修正が施されていることから、開発元では早期のアップグレードを推奨している。 新バージョンのPHP 5.2.0ではさまざまな側面からパフォーマンスの改善が図られたほか、200種類以上のバグフィックスが施された。例えば、Zendエンジン向けに新たなメモリマネージャを搭載し、パフォーマンスの向上を図るとともに、メモリ利用のトラッキングをより正確に行えるようになっている。また、入力フィルタリングが追加され、デフォルトで有効になるよう設定された。 さらに、PHPの中に含まれるhtmlentities()やhtmlspecialc

    複数のバグと脆弱性を修正した「PHP 5.2.0」リリース
  • マルチバイトの落とし穴 − @IT

    ブラインドSQLインジェクションも不必要情報の脆弱性も覚えた星野君。だけど覚えないといけないことはまだまだありそうです。今日も赤坂さんといっしょにお勉強。 「はい、これでクロスサイトスクリプティングやってみせて」赤坂さんがそういって見せてくれた勉強用のWebアプリケーション、あれ、見たところ完ぺきなんですが…… 高橋さん 「どうよ?」 星野君 「え……。どうって何がですか?」 高橋さんは唐突に会話を始めることが多い。大抵の場合、星野君には何の話か分からない。 高橋さん 「こないだ赤坂さんとWebアプリの検査したでしょ。どうかなって」 星野君 「どう……っていうか、なんか難しい感じでした。簡単なのはすぐに見つけられると思うんですけど……」 高橋さん 「ふーん……」 高橋さんはしばらく考え込んだ後、赤坂さんに声を掛けた。 高橋さん 「ねぇ、赤坂さん。いまって暇?暇だよねー?」 赤坂さん 「いや

    マルチバイトの落とし穴 − @IT
  • 入門 PHPセキュリティ

    書は、セキュリティを意識したPHPプログラミングのポイントをわかりやすく解説するPHPセキュリティの入門書です。主要な攻撃パターンごとに、セキュリティを確保するために必要となるPHPプログラミングの基的なアイデアを示して、有効な実践を詳しく解説。PHPセキュリティの基を効率よく学ぶことができます。PHPプログラミングの入門者から、中級者以上にも役立つテクニックと情報が一読できます。PHPでセキュアなコードを書くなら、まずは書をおすすめします。 序文 はじめに 1章 導入 1.1 PHPの特徴 1.1.1 グローバル変数登録 1.1.2 エラーの報告 1.2 原理 1.2.1 多重防御 1.2.2 最小特権 1.2.3 シンプル・イズ・ビューティフル 1.2.4 データの流出は最小に 1.3 実践 1.3.1 リスクと使い勝手のバランス 1.3.2 データの追跡 1.3.3 入力のフ

    入門 PHPセキュリティ
  • PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下) – その2

    (Last Updated On: 2018年8月13日)追記:まとめ用のエントリも追加しました下記URLもご覧ください。 http://blog.ohgaki.net/index.php/yohgaki/2005/11/09/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp_2 まず先のブログエントリで私が誤解していたため解りづらい状態になっていました。register_globals=offであればアドバイザリ(http://www.hardened-php.net/advisory_202005.79.html)の影響は受けません。この場で深くお詫びいたします。 いくつかのパターンが考えられますが今回Hardened-PHPプロジェクトからのアドバイザリで指摘されている問題によって影響を受ける環境は次のようになります。 影響を受ける環境1 regist

    PHPの現行リリースに重大な脆弱性(PHP4.4.0以下、PHP5.0.5以下) – その2