タグ

PHPに関するockeghemのブックマーク (412)

  • 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

    ockeghem
    ockeghem 2009/01/21
    『このアップロード処理のコードには重大なセキュリティホールがあります。このセキュリティホールを利用すると任意のコードを実行できてしまいます』<結構見かける脆弱性ですな
  • 第0回 PHPのWeb開発フレームワーク | gihyo.jp

    PHPは構文も容易で、開発者が言語を習得するのは非常に簡単です。また、性能もよいためWebアプリケーション構築に幅広く利用されています。 PHPが開発され始めた頃は、WebアプリケーションといえばCGIインターフェースを利用し、既存の汎用言語でプログラミングするのが一般的でした。PHPは、URIやPOSTリクエストのデコードや、HTTPセッション管理を標準機能として持っています。埋め込み型言語であるので、PHP自体がテンプレートとも言えます。PHPは汎用プログラミング言語としても利用できますが、簡易版のWeb開発フレームワーク(以下フレームワーク)と言えます。 筆者はこれがPHPが非常に人気の高い言語になった理由の一つだと考えています。しかし、PHP体のフレームワーク的な機能は現在のフレームワークとしては不十分です。このため、PHP用のフレームワークが多数開発されています。 連載は、Z

    第0回 PHPのWeb開発フレームワーク | gihyo.jp
  • PHP5.2.9始動 - Do You PHP はてブロ

    リリースサイクルに入った模様。現時点でのNEWSの差分はこんな感じです。 We've had a good number of fixes go into the 5.2 tree and I think this would be a good time to start the release cycle with an aim to have a final available by late/mid-february. To that effect I would like to provide a 2 week notice for 5.2.9RC1, so please if you have any pending fixes try to get them in within the next 2 weeks so we can have a rapid RC cycle.

    PHP5.2.9始動 - Do You PHP はてブロ
    ockeghem
    ockeghem 2009/01/20
    『2月の中旬~月末頃に正式版がリリースでしょうか?』<このあいだ5.2.7と5.2.8が出たところだとおもったら,もう5.2.9ですか
  • 第3回■ぜい弱性対策の考え方 -- 「保証なし」が原則のオープンソースは運用体制が超重要

    表を見ると分かるように,PHP4は7年半にわたってサポートが継続していた。これだけを見ると商用製品に大きく引けを取るわけではない。ただ,後継バージョンであるPHP5が公開された時期がPHP4の4年遅れだったため,PHP5の公開直前にPHP4で開発されたアプリケーションは3年半でセキュリティ・アップデート終了ということになった(図1)。 加えてPHP5の初期バージョンが不安定であったこと,PHP4に対する互換性が不十分だったことなどから,PHP5への移行はなかなか進まなかった。結果として,PHP4で開発したあと1~2年でPHP4のサポート終了を迎えたサイトも多いようだ。 現行のPHP5系統についても,PHP5の最初のリリースから既に4年以上が経過していることから,今後何年程度サポートが継続されるかは不明確である。今後PHPを使用してWebアプリケーションを開発する場合は,アプリケーションの保

    第3回■ぜい弱性対策の考え方 -- 「保証なし」が原則のオープンソースは運用体制が超重要
  • 第21回 文字エンコーディングとセキュリティ(3) | gihyo.jp

    前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は壊れた文字エンコーディングを利用した攻撃、文字エンコーディングを誤認識させる攻撃を紹介しました。今回はSJIS特定の問題を簡単に紹介します。 文字エンコーディングのエスケープ方式を利用する方法 ほとんどの文字エンコーディングは、マルチバイト文字の中に“⁠\⁠”などの特殊文字を含みません。しかし、例外があります。Shift_JISでは“⁠\⁠”がマルチバイト文字に含まれるので、これが原因で脆弱性が発生する場合あります。 SJISの“⁠表” <?php echo rawurlencode(mb_convert_encoding('表', 'SJIS', 'UTF-8')); ?> 出力 %95%5C “%5C⁠”は“⁠\⁠”です。“⁠\⁠”は文字列のエスケープなどに利用される特殊文字です。addslashes関

    第21回 文字エンコーディングとセキュリティ(3) | gihyo.jp
    ockeghem
    ockeghem 2009/01/16
    サンプルを試験していないことがバレバレ。『<div height="<?php addslashes($height)?>" width="<?php addslashes($width)?>"> 』は正常系で動作しない。また「表」を使わなくても普通にXSSとなる /ブログ書いたhttp://d.hatena.ne.jp/ockeghem/20090116/p1
  • 112. 重い処理をバックエンドで実行する

    PHPのプログラム内に重い処理を実行する部分がある場合、普通はその処理が終わるまでプログラムは先に進みません。でも、処理だけさせておいて、プログラムを先に進めたい場合もあると思います。 今回は、そんな重い処理をバックエンドで実行させる簡単な方法をご紹介します。このやり方はLinux/Unix環境で使えます。 時間がかかるスクリプトの例(test.php) <?php /* POSTされた時に、時間がかかる処理が走る。ここでは何もせずに10秒ストップ*/ if ($_POST['submit']) { sleep(10); echo 'finish!'; } else { ?> <html> 重い処理が走るスクリプト <form method="post" action="test.php"> <input type="submit" name="submit" value="重い処理を実行

    112. 重い処理をバックエンドで実行する
    ockeghem
    ockeghem 2009/01/09
    『ユーザ入力等をバックエンドのプログラムに渡すことも可能です【略】必ず最低限のエスケープ処理を入れるようにしましょう』<シェルのエスケープは複雑でぜい弱性の懸念は払拭できない。パイプなどを用いるべき
  • PHP 5.3で登場、goto命令 | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor ZEND DEVELOPER ZONE, PHP: GOTO 5.3でJohannes Schluter氏の公開したブログが紹介されている。氏は自身のブログにおいてPHP5.3で導入される新機能のいくつかを紹介しており、特にGoto your Christmas presents with PHP 5.3が興味深い。PHP 5.3で導入されるgoto構文をわかりやすいコードとともに紹介している。 5系の最新版になるPHP 5.3は開発段階にあり、執筆現在でalpha3が公開されている。PHP 5.3ではネームスペースの導入が注目されるが、それ以外にも興味深い機能が導入される。いくつかあるが特に目を引くのがgoto構文の導入だ。 5.3で導入されるのは機能制限されたgoto命令。関数といった同じ実行ユニット内部でジャンプできるgoto命

    ockeghem
    ockeghem 2009/01/08
    さすがは,便利なものは何でも取り込むPHPらしい発想ですね。その手があったかと思いました。ループ突入禁止なんてケチくさいこと言わずに,はっちゃけた実装を期待します
  • JVN#50327700 PHP におけるクロスサイトスクリプティングの脆弱性がよくわからない件について - 個々一番の.....

    PHP の設定で display_errors=off である場合は、この問題の影響を受けません。 の時点でまぁ自分の手元にはほぼ影響ないんですが、該当の記事からのリンク先であるPHPのChangeLogにはそれっぽいのがかいてなくて非常に気持ち悪い思いをしてるわけです。 こまってWassrでつぶやいてみたらますがたさんよりこれじゃないかみたいなレスをもらったけど、Cookieまわりっぽいので、CookieってXSSないとそもそもかきかえられないよなぁ(いや、レンタルサーバとかだといろいろあるけえど)とか悩んでるわけです。で、もし詳細ご存知の人いたら教えてください。 というわけでメリーXSS

    JVN#50327700 PHP におけるクロスサイトスクリプティングの脆弱性がよくわからない件について - 個々一番の.....
    ockeghem
    ockeghem 2009/01/08
    メリーXSS
  • 第1回 PCサイトと携帯サイトの違いを知る | gihyo.jp

    携帯サイト開発で考慮すること PCサイトの作成経験者が初めて携帯サイトを作るときには、どのような所に違いがあるのかをまず認識しなければなりません。PCサイトの場合ブラウザの数も限られており、またそれぞれの動作も大きくは異なりませんが、携帯サイトではキャリアはもちろん機種ごとにも動きが変わってきてしまいます。そして携帯サイトはPCと違い、ブラウザのバージョンアップができません。そのため広く使ってもらうサイトを作るには古い機種にも対応しなければならず、多種多様な仕様の端末を想定して開発をしていく必要があります。そのため開発の前にどのような点に気をつけなければならないかをきちんと認識しておく必要があります。 携帯サイトの開発において、最初のポイントは「携帯端末で画面を正しく表示すること」です。PCサイトと同じように携帯サイトを作成すると、画像が表示されなかったり、画面レイアウトが崩れたりといった

    第1回 PCサイトと携帯サイトの違いを知る | gihyo.jp
    ockeghem
    ockeghem 2009/01/05
    今後が楽しみです
  • 現行版のPHPに任意メモリ参照バグ – 攻撃コード付き

    (Last Updated On: 2018年8月13日)随分前から共有型Webホスティングサービスでは安全性を確保できないので、安全性を重視するサイト(ECなど)は最低限でも仮想ホスト型の共有サービスを利用すべきである、と言っています。 今回のエントリはPHPをApacheモジュールで共有型ホスティングサービスを利用しているユーザに影響します。SSLを利用している場合は秘密鍵を盗まれます。このバグはPHP 5.2.8でも修正されていません。当然ですがPHP 4.4.9でも修正されていません。 Milw0rmのアドバイザリ http://www.milw0rm.com/exploits/7646 には、そのまま使える、任意のアドレスのデータを参照するコードまで付いています。秘密鍵を盗むことは簡単です。 誤解してはならない事ですが、これはPHPに限った問題ではありません。PHPでは度々このよ

    現行版のPHPに任意メモリ参照バグ – 攻撃コード付き
    ockeghem
    ockeghem 2009/01/05
    『PHPをApacheモジュールで共有型ホスティングサービスを利用しているユーザに影響します。SSLを利用している場合は秘密鍵を盗まれます』<共有サーバーの危険性を訴えたいのであれば事例が適切でないような
  • PHP開発者とユーザが知っておくべきシェルコマンドエスケープの内部処理

    (Last Updated On: 2018年8月13日)これから紹介する脆弱性はPHP 5.2.6で修正されています。修正された、とは言え注意が必要です。 PHPは古くからシェルコマンドとシェル引数をエスケープ処理する為に、escapeshellcmd関数とescapeshellarg関数を提供しています。 この関数はマルチバイト文字にも対応しているのですが、ビルドや環境によっては対応できていないときがあります。 escapeshellcmd/escapeshellarg関数ではC99で定義されてるmblen関数を利用しています。一般的なUNIX系システムではmblen関数は利用可能でると考えられるので、問題となる事は少ないと思いますが、PHPではphp_mblenマクロが以下のように定義されています。 #ifndef HAVE_MBLEN # define php_mblen(ptr,

    PHP開発者とユーザが知っておくべきシェルコマンドエスケープの内部処理
    ockeghem
    ockeghem 2009/01/03
    誤り。PHP利用者が知っておくべきことは、1)原則としてシェルコマンドを使用しない、2)やむを得ずシェルコマンドを使用する場合はパラメータを固定にするか、ホワイトリスト検査を行うこと
  • PHPの文字化けを本気で解決する - ぎじゅっやさん

  • 第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp

    前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は文字エンコーディングを利用した攻撃で、JavaScriptインジェクションやSQLインジェクションなどが可能であることを紹介しました。今回はなぜ、文字エンコーディングを利用して攻撃できるのか、簡単に紹介します。 文字エンコーディングを利用した攻撃の原理 文字エンコーディングを利用した攻撃には3種類の方法があります。 不正な文字エンコーディングを利用する方法 文字エンコーディングを誤認識させる(誤認識を利用する)方法 文字エンコーディングのエスケープ方式を利用する方法 この連載は攻撃方法を詳しく解説する事が目的ではありません。具体的なの攻撃方法の解説はできる限り控え、なぜこの3つ手法が攻撃に利用できるのか解説します。 前回も触れましたが、パス遷移攻撃には文字エンコーディングを利用した攻撃方法もあります。 文字

    第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp
    ockeghem
    ockeghem 2008/12/27
    もっと用語を厳密に使用しないと。UTF-8は、「Unicode Transformation Format」または「UCS Transformation Format」の略だが、『Unicodeの』という文脈であれば前者。この場合の最大長は4バイト// このテーマは僕も書く予定(新年以降)
  • yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須

    (Last Updated On: 2016年3月3日)最近PostgreSQLMySQL両方にSJISエンコーディングを利用している際のエスケープ方法の問題を修正がリリースされています。この件は単純に「データベースシステムにセキュリティ上の脆弱性があった」と言う問題ではなく「アプリケーションの作り方を変える必要性」を提起した問題です。 参考:セキュアなアプリケーションのアーキテクチャ – sandbox化 PostgreSQLMySQLの脆弱性は特にSJIS等、マルチバイト文字に\が含まれる文字エンコーディングが大きな影響を受けますが、同類の不正な文字エンコーディングを利用した攻撃方法が他の文字エンコーディングでも可能です。例えば、UTF-8エンコーディングは1文字を構成するバイト列の最初のバイトの何ビット目までが1であるか、を取得してUTF-8文字として1バイト~6バイト必要なのか

    yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須
  • [PHP-dev 1344] Re: mb_check_encoding() のテスト

  • 2008-11-08

    的にmbstringモジュールが無い環境を想定しているYakiBikiですが、入っていればちゃんと文字エンコーディングのチェックをしておきたいなぁとずっと思ってまして、入れたのですが。 昔設定した mbstring.substitute_character とか、mbstring.encoding_translation が On になっていたりで、不正な文字を入力させてみても mb_check_encoding() がいつもtrueを返してきたので焦りました。 まず基方針としてはコレを見ました。 ・「これからのプログラムの作り方 - 文字エンコーディング検証は必須」 http://blog.ohgaki.net/a_a_a_a_a_ra_ca_a_oa_pa_fa_ma_sa_sa_raf ところが、コードを組み込んで適当なバイナリをGETパラメータとかに渡しても通ってしまう。・・

    2008-11-08
  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
  • Nexen.net : portail PHP et MySQL - PHP statistics for October 2008

    ockeghem
    ockeghem 2008/12/15
    下岡さんのブログで紹介されていたページよりもこちらの方が詳細が出ている
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    ockeghem
    ockeghem 2008/12/14
  • セキュリティの問題で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が配布中止に
    ockeghem
    ockeghem 2008/12/12
    PHP5.2.7を導入してしまったのだが、『magic_quotes_gpc』を使う場合の問題ということなら、どうせ使ってないしそのままにしておこうかという誘惑が…いや、5.2.8に上げます。上げますとも