PHPの標準関数のみでユニークなトークンを作りたかったので、メモとして残します。 目的 メールアドレス認証時に使用するアクティベーションキー用のトークンを発行したく、 実行する度に被らないランダムな文字列を取得するのが目的です。 TL;DR
PHPの標準関数のみでユニークなトークンを作りたかったので、メモとして残します。 目的 メールアドレス認証時に使用するアクティベーションキー用のトークンを発行したく、 実行する度に被らないランダムな文字列を取得するのが目的です。 TL;DR
PHPカンファレンス2017 レポート 徳丸浩さん、著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則 〜PHPカンファレンス2017 ゲストスピーカーセッション 2017年10月8日、東京・大田区産業プラザPiOにて、PHPカンファレンス2017が開催されました。本稿では、ゲストスピーカーセッションであるEGセキュアソリューションズ株式会社 代表取締役 徳丸浩さんの講演「著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則」をレポートします。 著名なPHPアプリケーションでも脆弱性を狙った攻撃が絶えません。徳丸さんは「脆弱性対処の王道はプレースホルダによるSQLインジェクション対策のように、とにかく個別の脆弱性から守るための局所対策が大切。とはいえ、脆弱性対処を束ねる総論も必要だ」と言います。 今回の講演では、一般的なセキュアコーディングの原則、そしてPHPの著名アプリの脆弱性
PHP環境向けのメール送信ライブラリ「Swift Mailer」に深刻な脆弱性が含まれていることがわかった。フレームワークなどでも採用されており、影響が懸念される。 先に「PHPMailer」の脆弱性を公表したセキュリティ研究者のDawid Golunski氏が、別のメール送信ライブラリである「Swift Mailer」の脆弱性「CVE-2016-10074」について報告したもの。 最新版である「同5.4.5-DEV」および以前のバージョンが影響を受ける。12月28日の時点で脆弱性を修正したアップデートなどは提供されていない。 同ライブラリは、「Yii2」「Laravel」「Symfony」などのPHPフレームワークなどでも採用されている。 今回判明した脆弱性「CVE-2016-10074」は、「PHPMailer」で明らかとなった「CVE-2016-10033」と同様の脆弱性。ウェブアプ
2016年11月3日にPHPカンファレンス2016が開催されました。本稿では、ゲストスピーカーである徳丸浩さんのセッション「安全なPHPアプリケーションの作り方2016」についてレポートします。 最近のPHP関連の脆弱性 徳丸さんはセッションを通して、PHP関連の脆弱性の話を取り上げていきました。 Joomla!の事例 Joomla!の権限昇格脆弱性についての話がありました。次の2つの問題を含んでいました。 ユーザ登録時に管理者権限を設定されてしまうという問題 ユーザ登録を許可していない設定にしてもユーザ登録が行えてしまうという問題 徳丸さんはこれらのデモを行い、攻撃の流れを見せました。 原因としては登録のメソッドが2つ存在し、そのうちの一方がユーザ登録許可の設定を確認していないことが問題となっていることを指摘しました。対策としては、開発側は該当メソッドの削除、利用者側はバージョンアップを
Wordpressの不正アクセスについて教えてください。 index.phpと.htaccessが書き換えられていました。 上記index.phpはスクラッチで制作したもので、 ディレクトリ「blog」内にWPをインストールしてブログのみWPのサイトです。 書き換えられた後のindex.phpの中身は以下の通りです。 <?php error_reporting(0); ini_set("display_errors", 0); include_once(sys_get_temp_dir()."/SESS_48cd7517d21176f980daa5502d9efb31"); ?> <?php mysql_close($conn);?> /SESS_48cd7517d21176f980daa5502d9efb31 で検索しますと、 どうやら不正アクセスに遭ったとみられる
phpにセッションというものがありますが、多くの利用者がいる、大量のセッションIDが発行されているサイトで、セッションIDに対して総当たり攻撃を仕掛けた場合、その中の一つを割り出すより、 phpにセッションというものがありますが、多くの利用者がいる、大量のセッションIDが発行されているサイトで、セッションIDに対して総当たり攻撃を仕掛けた場合、その中の一つを割り出すより、 そのどれかなら楽にヒットさせることができそうに思うのですが、このような攻撃は成功し得るものでしょうか。 ネットを調べていたところ、セッションIDをアクセスの度に変える、というのがありましたが、どのIDでもいい、とした攻撃に対して無意味じゃないかと思うのですが・・・。 ただの素人の勘繰りですが対策があるなら是非教えて頂きたいです。。
予備知識 スーパーグローバル変数とは? 「スーパーグローバル変数って何?」って感じの駆け出しPHPプログラマのために念のためマニュアルへのリンクを記載しておきます.全然知らない人は軽く読んでおいてください. PHP Manual - 変数のスコープ PHP Manual - スーパーグローバル HTTPとは? リクエストヘッダー・レスポンスヘッダー と聞いてピンと来ない人はまず下記サイトにて予習をお願いします.細かいことは覚える必要は無いので,大雑把に「ヘッダーとはどんなものか」ということを理解してください. Qiita - 【PHP超入門】HTTP(GET・POST)について Qiita - 【PHP超入門】Cookieとセッションについて @7968さんによるQiitaの記事です.右も左もわからない人はまずこれで. とほほのWWW入門 - HTTP入門 最初の記事をもう少し体系的にまと
Charlie Osborne (Special to ZDNET.com) 翻訳校正: 編集部 2016-06-24 10:29 「Swagger」の仕様に、NodeJS、PHP、Ruby、Javaのコードジェネレータツールに影響を及ぼす脆弱性が発見された。 Rapid7によれば、この脆弱性は、これらの言語用のSwagger Code Generatorを通じて生成された、インジェクション可能なコードペイロードに見つかった。この脆弱性が悪用されると、攻撃者は遠隔からクライアントまたはサーバ内でコードを実行して、サービスシステムの定義に干渉できる。 同様の他のプログラミング言語用のツールにも、同じ脆弱性が存在する可能性がある。 Swaggerの仕様は寄付され、現在はOpen API Initiative(OAI)の基盤となっており、REST APIの記述のベースとして使用されている。このフ
※ 括弧内の日付はいずれもリリース日。 結論 基本的には問題ない。 CentOS の公式 Wiki の FAQ には「CentOS は企業向けであり、最先端よりも安定性と長期的なサポートが優先される。主なパッケージのバージョンは製品のライフサイクル全体を通じて保持される。」「最新バージョンのパッケージがないのは欠陥ではなく特徴である。」2 (意訳) とあり、バージョンが古いままなのは意図的である。 また、「セキュリティパッチやバグ修正が出荷バージョンにバックポートされている。」「単にバージョン番号を見るだけでは、脆弱性があるとは言えない。」3 (意訳)とあり、脆弱性の対応も行われていることが分かる。 ただし、CentOS 5.x の php53 パッケージはメンテナンスされていないので直ちに使用を中止した方がよい。「サポート期限」を参照のこと。 バックポート PHP 本体のセキュリティサポ
セキュリティ¶ class SecurityComponent(ComponentCollection $collection, array $settings = array())¶ Security コンポーネントを使うと、アプリケーションにさらに堅牢なセキュリティを導入できます。 このコンポーネントは、以下の様々なタスクのためのメソッドを提供します。 アプリケーションが受け付ける HTTP メソッドの限定 CSRF 防御 フォーム改ざん防止 SSL の利用を要求 コントローラ間の通信制限 全てのコンポーネントと同様に、いくつかの設定できるパラメータがあり、 これら全てのプロパティは、直接設定したり、コントローラの beforeFilter の中で、 プロパティと同じ名前のセッターメソッドで設定できます。 Security コンポーネントを使用することで、自動的に CSRF とフォーム
第四企画 坂井 潔 ここではPHPでSQLインジェクション対策としてエスケープ・クォート処理を行うケースを説明します。なおSQLインジェクションの簡単な説明や、プレースホルダを用いてより効果的な対策を行うケースに関してはプレースホルダ編を参照してください。 エスケープとは? それではエスケープ処理とはなんでしょうか? 分かりやすいケースとして、文字列を扱う場合を説明します。 例えば「名前がO'Reillyの行をテーブルusersから取得する」あるいは「テーブルusersに、名前はO'Reilly、メールアドレスはo'reilly@example.comとo'reilly_mobile@example.netの2つを改行で繋げたデータを、行として挿入する」と言ったSQLをつくると、この命令文全体が1つ文字列になります。その命令文としての文字列の中に、値としての文字列を埋め込む場合には、それが
CakePHPとかLaravelとか、Ruby on Railsとかを最近始めてみたけど、 セキュリティについては全然わからなくて、ちゃんとできているか怖いという人のための、 少なくともこれだけは気を付けてコードを書いた方がいいよというお話。 この記事ではコードを書き始めた初心者が、 気づかぬ内に脆弱性を作りこみやすい場所をピックアップして、 勉強のとっかかりになることを目標にしています。 それとセキュリティに詳しい方々、 もしこれも書いた方がいいよというのがあれば、どうかご教示ください。 アプリケーションの話 Viewの変数は全てエスケープする どの変数がエスケープ必要で、どれが必要じゃないかは判断するのがとても難しいので、 片っ端からエスケープしまくりましょう。 // PHPのコード内でエイリアスのメソッドを用意して function h($str){ return htmlspeci
この投稿は 7年半 前に公開されました。いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。 たぶん、ここ一週間ぐらいだと思うんですけど、WordPressのXML-RPCエンドポイントへのブルートフォース攻撃が多くないですか? 僕がEC2でホスティングしているWordPressは全部やられました。 そんなにものすごい勢いでアクセスが来るわけじゃないので、大規模なサイトでは気づかないかもしれないのですが、サーバがしょぼいとCPUの利用率が100%を超えます。xml-rpc.php への認証をトライされるとDBへの接続が必ず行われてしまうからですね。 一番簡単なのは xmlrpc.php へのアクセスを遮断してしまうことなのですが、プラグインJetpackを使っている場合、そうもいかなかったりします。JetpackがXML-RPC使ってるからですね。 そこで、こんな設定
【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて
この記事はPHPアドベントカレンダー2014の22日目の記事です 。 2002年3月に公開されたIPAの人気コンテンツ「セキュアプログラミング講座」が2007年6月に大幅に更新されました。そして、その一節がPHPerたちを激しく刺激することになります。 (1) プログラミング言語の選択 1) 例えば、PHPを避ける 短時日で素早くサイトを立ち上げることのみに着目するのであれば、PHPは悪い処理系ではない。しかし、これまで多くの脆弱性を生んできた経緯があり、改善が進んでいるとはいえまだ十分堅固とは言えない。 セキュアプログラミング講座(アーカイブ)より引用 「PHPを避ける」とまで言われてしまったわけで、当然ながらネット界隈では炎上を起こし、現在はもう少しマイルドな表現に変わっています(参照)。 本稿では、当時のPHPの状況を振り返る手段として、この後PHPのセキュリティ機能がどのように変化
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く