タグ

phpとsecurityに関するmochyのブックマーク (21)

  • GHOST脆弱性を用いてPHPをクラッシュできることを確認した

    GHOST脆弱性について、コード実行の影響を受けるソフトウェアとしてEximが知られていますが、PHPにもgethostbynameという関数があり、libcのgethostbyname関数をパラメータ未チェックのまま呼んでいます。そこで、PHPのgethostbynameを用いることでPHPをクラッシュできる場合があるのではないかと考えました。 試行錯誤的に調べた結果、以下のスクリプトでPHPをクラッシュできることを確認しています。CentOS6(32bit/64bitとも)、Ubuntu12.04LTS(32bit/64bitとも)のパッケージとして導入したPHPにて確認しましたが、phpallで確認した限りPHP 4.0.2以降のすべてのバージョンのPHPで再現するようです。なぜかPHP 4.0.0と4.0.1では再現しませんでした。 <?php gethostbyname(str_

  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

    この記事はPHPアドベントカレンダー2014の22日目の記事です 。 2002年3月に公開されたIPAの人気コンテンツ「セキュアプログラミング講座」が2007年6月に大幅に更新されました。そして、その一節がPHPerたちを激しく刺激することになります。 (1) プログラミング言語の選択 1) 例えば、PHPを避ける 短時日で素早くサイトを立ち上げることのみに着目するのであれば、PHPは悪い処理系ではない。しかし、これまで多くの脆弱性を生んできた経緯があり、改善が進んでいるとはいえまだ十分堅固とは言えない。 セキュアプログラミング講座(アーカイブ)より引用 「PHPを避ける」とまで言われてしまったわけで、当然ながらネット界隈では炎上を起こし、現在はもう少しマイルドな表現に変わっています(参照)。 稿では、当時のPHPの状況を振り返る手段として、この後PHPセキュリティ機能がどのように変化

  • れいさの本当に目が覚めるPHP - Togetterまとめ

    全てのリンク先で肝が冷えます。 PHPerの早朝のネタトークが思いの外インパクトがあったのでまとめただけです。 PHPや利用者がどうこうという文脈ではありません。 ※タイトル変更しました。

    れいさの本当に目が覚めるPHP - Togetterまとめ
  • PHP でパスワードを保存するなら Blowfish でハッシュしよう | バシャログ。

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

    PHP でパスワードを保存するなら Blowfish でハッシュしよう | バシャログ。
  • PHP5.5.0 から導入されたパスワードハッシュ関数を使ってみた - mikanmarusanのブログ

    概要 パスワードのハッシュ パスワードハッシュ API は crypt() を手軽に使えるようにしたラッパーで、 パスワードの作成や管理を安全な方法で行えます。 crypt() を利用すればパスワードハッシュの生成は可能なんだけど、経験上煩雑なコードになりやすい気がして(自分がPHPを書くのが下手なだけかもしれないけど)ちょっと勉強してみた。 環境構築 vagrantでUbuntu(raring)を用意し、php5.5.7をLaunchpadのPersonal Package Archiveでインストール。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 13.04 Release: 13.04 Codename: raring $ php -v PHP 5.

    PHP5.5.0 から導入されたパスワードハッシュ関数を使ってみた - mikanmarusanのブログ
  • PHP はいつもわたしに新鮮な驚きを与えてくれる - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    ことの始まり PHP の srand 関数について調べていて、ひょんな拍子にsrandのseedに文字列(numericである必要はあるけど)を渡せることを知った。 では、ここに long を超えるものを放り込むとどうなるのか。 では結果をごらんください。 「!?!?」 なぜこうなるのか 秘密は PHP 処理系の zend_parse_arg_impl 関数にあります。 zend_parse_arg_impl はphpの関数に渡された引数をパースする部分で、longを要求する関数にstringな値が渡された時の処理はこの部分ですね。 https://github.com/php/php-src/blob/master/Zend/zend_API.c#L335 さて、読み進めていくと「ん!?!?」ってなる行があるはずです。 この行ですね https://github.com/php/php-

    PHP はいつもわたしに新鮮な驚きを与えてくれる - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • PHPカンファレンス2013でトークします

    PHPカンファレンス2013にてトークしますのでご案内します。 日時:2013年9月14日(土曜日) 10時00分~(徳丸の出番は12:00~12:45) 場所:大田区産業プラザ(PiO) 費用:無料(申し込みはこちら) 講演タイトル:安全なPHPアプリケーションの作り方2013 PHPカンファレンスでは2009年以降毎年トークさせていただいております。今年は、上記タイトルにて以下のテーマを取り上げます。 パスワードの守り方 セッションフィクセイション結局どうする PHPのライフサイクルにどうつきあう? HTML5セキュリティ入門 上の2つはPHPの最新版PHP5.5に関する話題です。また、PHPのリリースサイクルが短いということから、ライフサイクルについても(少し)お話しします。 HTML5のセキュリティについては少しずつ情報が出てきましたが、難しい、抽象的、結局なにが問題か分からない、

  • WordPress利用者は至急確認を! 19万5千サイトを改ざんしたボット「Stealrat」の感染確認方法

    トレンドマイクロ社のセキュリティブログでWordPressなどのCMSの脆弱性を悪用するスパムボット「Stealrat」に関するエントリが公開されています。この記事によると、2013年4月~7月末で約19万5千ものサイトが「Stealrat」に感染し改ざんされたとのこと。 CMSの脆弱性を悪用するスパムボット「Stealrat」による感染を確認するには? | トレンドマイクロ セキュリティ ブログ (ウイルス解析担当者による Trend Micro Security Blog) このスパムボットの運用状況を監視する過程で、弊社は、約19万5千もの改ざんされたドメインおよび IPアドレスを特定しました(期間:2013年4月~7月末)。これら改ざんサイトの共通点として、このスパムボットを操作するサイバー犯罪者は、脆弱性を抱える「コンテンツ管理システム(CMS)」を使用する Webサイトを悪用し

    WordPress利用者は至急確認を! 19万5千サイトを改ざんしたボット「Stealrat」の感染確認方法
  • 安全を考えてPHPの実行時設定を調整する

    PHPを初期設定のまま使うと、いろいろ問題が起こる可能性があります。今回は、問題の発生を未然に防ぐ設定法をいくつか紹介します。(編集部) 初期設定のままでは良くないところもある ここ数回はPHP実行時の設定について解説しています。実行時設定を変更する方法として、PHPの設定ファイル(以下php.iniファイル)に設定を記述する方法と、Apache HTTP Server(以下Apache)の設定ファイルにPHPの設定を記述する方法の2つがあり、前回はその使い分けについて解説しました。 サーバ全体で標準の設定値としたいものはphp.iniファイルに、バーチャルホストやURLごとに変更したいものはApacheの設定ファイルに記述する、という使い分けの指針も示しました。 今回は、php.iniで設定できる項目、つまりサーバ全体にかかわる設定項目の中でも、初期設定のままにしておくことがあまり適切で

    安全を考えてPHPの実行時設定を調整する
  • PHP 5.3.7に重大なセキュリティ問題、アップデートはちょっと待った - @IT

    2011/08/23 PHP development teamは8月22日、PHP 5.3.7に重大な問題があることを明らかにした。数日以内に予定しているバージョン5.3.8のリリースまで、アップグレードを延期するよう呼び掛けている。 PHP 5.3系の最新バージョンであるPHP 5.3.7は、この8月18日に公開されたばかりだ。セキュリティフィックスも含め、90以上のバグを修正する内容となっていた。 しかしバグレポートやインターネット上のブログによると、PHP 5.3.7のcrypt関数には重大な問題が存在する。crypt()は文字列のハッシュ値を返す関数で、元の値に「salt(ソルト)」という乱数を付けた値のハッシュを生成する(ソルト付きハッシュ値)。しかしバージョン5.3.7でMD5アルゴリズムを利用した場合、crypt関数は肝心のハッシュ値なしでソルトのみを返す。従って、これをパス

  • CakePHP の PHP コード実行の脆弱性を使って CakePHP を焦がす - co3k.org

    2010/11/13 に出たらしい http://bakery.cakephp.org/articles/markstory/2010/11/13/cakephp_1_3_6_and_1_2_9_released を読んでびっくりしたんですが、 Twitter を軽く検索した限りだと CakePHP ユーザでない僕が気づいているのに (日の) CakePHP ユーザさんたちがどうも気づいていないっぽいのでわかりやすくまとめてみることにしました! CakePHP には任意の PHP コードが実行できる致命的な脆弱性があります! 影響のあるサイト結構ありそうですが悪用厳禁です! ※通常リリースの告知のなかにこんな致命的な脆弱性に関する情報を思いっきりわかりにくく書いちゃうのはひどいなあと思うので、ユーザの方は CakePHP に文句を言うといいと思います。僕は CakePHP ユーザじゃない

  • ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2010年7月1日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり PHPのデータベース・アクセス・ライブラリPDOは、DB接続時の文字エンコーディング指定ができないため、文字エンコーディングの選択によっては、プレースホルダを使っていてもSQLインジェクション脆弱性が発生します。 追記(2011/06/19) ここに来て急にブクマが追加されはじめていますが、このエントリを書いてから状況が改善しています。PHP5.3.6(2011/03/17)にて、PDOでもデータベース接続の文字エンコーディングを指定できるようになりました。この版で、UNIX版のPHPでは解決しましたが、Win

    ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)
  • 第28回 あまり語られないセキュリティの基本 ── トラストバウンダリ | gihyo.jp

    何事も基が一番大切です。システム開発/コンピュータプログラミングも同じく基が大切です。基を守らないシステム設計やコーディングは問題発生の原因となる可能性が高いことは経験上理解できると思います。 セキュリティ対策の基も非常に大切ですが、何故か基はあまり語られていません。今回は安全性確保の基中の基を紹介したいと思います。 あまり語られない核心 正しいセキュリティ対策を行うには、セキュリティ問題の原因を理解する必要があります。 セキュリティ対策の記事などでは個々のセキュリティ問題に対する具体的な原因と対策が紹介されていることが多いです。私のブログも含め個人ブログなどでは「こういう場合はこうする」といった簡単な対処例が紹介されることが多いです。例えば、「⁠SQLインジェクション対策にはプリペアードクエリだけを使えば大丈夫」などです。 読者の方もセキュリティ対策はどうすればよいのか、具

    第28回 あまり語られないセキュリティの基本 ── トラストバウンダリ | gihyo.jp
  • PHPの設定をセキュリティの観点から改善·PHP Security Consortium MOONGIFT

    PHPは広く数多のWebサーバでインストールされ、使われている。設定ファイルは殆どそのままで使われていることが多いのではないだろうか。だが4.2より前のバージョンではregister_globalsのデフォルトがOnになっていたなど、利便性とセキュアであることとの関係で潜在的な問題はあるかも知れない。 php.iniのセキュリティチェックに 見直すのはPHPの設定ファイルであるphp.iniだが、多数の設定があるのでぱっと見では設定の善し悪しが分かりづらいかも知れない。そこで使うのがPHP Security Consortiumだ。 今回紹介するオープンソース・ソフトウェアはPHP Security Consortium、PHPセキュリティ設定を見直すソフトウェアだ。 PHP Security ConsortiumはPHPで作られたソフトウェアで、phpinfo()から得られる情報を使っ

    PHPの設定をセキュリティの観点から改善·PHP Security Consortium MOONGIFT
  • 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:既知のセキュリティ脆弱性 – Session Adoption

    (Last Updated On: 2018年8月13日)追記:より新しい情報については間違いだらけのHTTPセッション管理とその対策をどうぞ。 PHPには広く知られているにも関わらず放置されている既知のセキュリティ脆弱性が幾つかあります。その一つがセッションモジュールのセッションアダプション(Session Adoption)脆弱性です。この脆弱性は現在広く利用されているWebアプリケーションの安全性に、非常に大きな影響を与える脆弱性です。 セッションアダプション脆弱性とはセッション固定化攻撃を可能とする脆弱性の一種です。セッションアダプションに脆弱なセッション管理システムは、ユーザ(ブラウザ)が送信してきた未初期化のセッションIDを受け入れ、セッションを初期化してしまいます。PHPに限らず、RailsJavaのフレームワーク等、多くのWebフレームワークに発見されている脆弱性です。

    PHP:既知のセキュリティ脆弱性 – Session Adoption
  • JVN#50327700: PHP におけるクロスサイトスクリプティングの脆弱性

    PHP 5.2.7 およびそれ以前 PHP の設定で display_errors=off である場合は、この問題の影響を受けません。 また、PHP 5.3.0alpha は、脆弱性の影響を受けません。 PHP は、ウェブサーバに適したオープンソースのスクリプト言語およびその実行環境です。 PHP には、エラーの処理が不適切なため、クロスサイトスクリプティングの脆弱性が存在します。

  • 確認されているだけでも攻撃が毎分1.5件,PHPアプリ狙う攻撃が大量無差別型に

    前回,SQLインジェクション攻撃の増加傾向を紹介した。そのほかにも日IBMの東京セキュリティオペレーションセンター(以下,東京SOC)では,PHPで作成されたWebアプリケーションを狙った攻撃を大量に確認している。特に,リモート・ファイル・インクルード(RFI)攻撃は非常に多く,東京SOCでは1分当たり1.5件の頻度でRFI攻撃を検知している。これらは自動化された攻撃ツールによる大量無差別型の攻撃だと考えられる。今回は,現在のRFI攻撃の動向を紹介する。 RFI攻撃は,Webアプリケーションのぜい弱性を利用して標的とするサーバーに,外部のサーバーから悪意あるファイルを読み込ませる攻撃である。攻撃者は標的サーバー上で当該ファイルに記述された任意のコードを実行させる。

    確認されているだけでも攻撃が毎分1.5件,PHPアプリ狙う攻撃が大量無差別型に
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • Rauru Blog » Blog Archive » WordPress のコードとしての問題