タグ

securityとphpに関するfbisのブックマーク (24)

  • 人気のPythonパッケージが乗っ取られる騒ぎ、PHPパッケージではAWS認証情報が盗み取られる/昨今の国際情勢の悪化に伴い、オープンソースパッケージへの攻撃は増加傾向

    人気のPythonパッケージが乗っ取られる騒ぎ、PHPパッケージではAWS認証情報が盗み取られる/昨今の国際情勢の悪化に伴い、オープンソースパッケージへの攻撃は増加傾向
  • PHPの脆弱性 CVE-2018-17082 によるキャッシュ汚染についての注意喚起

    エグゼクティブサマリ PHPの脆弱性CVE-2018-17082はXSSとして報告されているが、現実にはXSSとしての攻撃経路はない。一方、Apacheのmod_cacheによるキャッシュ機能を有効にしているサイトでは、キャッシュ汚染という攻撃を受ける可能性がある。 概要 PHPの現在サポート中のすべてのバージョンについて、XSS脆弱性CVE-2018-17082が修正されました。以下は対応バージョンであり、これより前のすべてのバージョンが影響を受けます。ただし、Apacheとの接続にApache2handlerを用いている場合に限ります。 PHP 5.6.38 PHP 7.0.32 PHP 7.1.22 PHP 7.2.10 PHP 5.5以前も対象であり、これらは脆弱性は修正されていません。 脆弱性を再現させてみる この脆弱性のPoCは、当問題のバグレポートにあります。 PHP ::

    PHPの脆弱性 CVE-2018-17082 によるキャッシュ汚染についての注意喚起
  • PHPで2要素認証を超簡単に実装する方法 | 株式会社サイバーブレーン | 東京都豊島区のホームページ・WEB制作会社

    近年、Google アカウントやApple IDを使用して各サービスにログインする際、2要素認証(2ファクタ認証など)という文字列を目にする機会が増えていませんでしょうか。既に利用されている方も多いと思いますが、各サービスにログインする際、IDとパスワードに加えて登録電話番号宛に音声やショートメッセージに謎の番号が届き、その番号を入力してログインに成功するというあれです。 セキュリティへの意識が高まる近年、大手サービスのみならず自社システムへのログインにも2要素認証を導入したいというクライアントが増えてきました。リアルなシステムに2要素認証を組み込むにはそれなりの工数がかかりますが、今回は2要素認証をPHPで実装する際の基的な方法を超簡単にご説明したいと思います。 2要素認証とは 通常のIDとパスワードの認証は、入力されたそれがサーバ側に保存されているものと同じかどうかを単純に比較(1要

    PHPで2要素認証を超簡単に実装する方法 | 株式会社サイバーブレーン | 東京都豊島区のホームページ・WEB制作会社
  • hash_hmac()の使い方

    (Last Updated On: 2018年8月13日)HMACの応用的な使い方をここ数のブログで書いてきましたが、HMACの基的な使い方を紹介していませんでした。リクエストパラメーターを安全に検証/バリデーションする方法を例に紹介します。unserialize()を安全に利用する利用例にもなります。 参考: HMACハッシュの使い方のまとめ HMACが考案された背景 HMACAPIキーのバリデーションに使う方法を紹介する前に、何故HAMCが考案されたのか紹介します。 HMACはRFC 2104で標準化されています。HMACは基的に暗号学的なハッシュ関数をより安全に利用するために考案されました。暗号学的なハッシュ関数といってもコンピュータの高速化やハッシュアルゴリズム自体の脆弱性の発見などにより、時間と共に危殆化します。 ハッシュ関数が「暗号学的なハッシュ関数」とされる条件を満た

    hash_hmac()の使い方
  • PHPプログラマのためのXXE入門

    この日記はPHP Advent Calendar 2017の25日目です。前回は@watanabejunyaさんの「PHPでニューラルネットワークを実装してみる」でした。 OWASP Top 10 2017が発表され、ウェブのセキュリティ業界がざわついています。というのも、2013年版までは入っていたCSRFが外され、以下の2つの脅威が選入されたからです。 A4 XML外部実体参照(XXE) A8 安全でないデシリアライゼーション これらのうち、「A8 安全でないデシリアライゼーション」については、過去に「安全でないデシリアライゼーション(Insecure Deserialization)入門」という記事を書いていますので、そちらを参照ください。 稿では、XML外部実体参照(以下、XXEと表記)について説明します。 XXEとは XXEは、XMLデータを外部から受け取り解析する際に生じる脆

  • PHP本体でタイミング攻撃を防御できるようになります

    (Last Updated On: 2021年3月25日) PHP 5.6からタイミング攻撃に対する対策が導入されます。メジャーなアプリケーションはタイミング攻撃対策が導入されていますが、PHP 5.6から簡単に対策できるようになります。 タイミングセーフな文字列比較関数はhash_equalsとして実装されました。 http://php.net/manual/es/function.hash-equals.php タイミング攻撃とは タイミング攻撃とは、コンピュータが動作する時間の違いを測って攻撃する、サイドチャネル攻撃(副作用攻撃)と呼ばれる攻撃手法の1つです。HTTPSの圧縮の副作用を利用したサイドチャネル攻撃が有名です。 コンピュータの動作時間、温度、音、電子ノイズ、電力使用量など、アルゴリズム自体の脆弱性を攻撃するのではなく副産物を利用する攻撃方法でサイドチャネル攻撃の一種です。

    PHP本体でタイミング攻撃を防御できるようになります
  • CakePHPのSecurityComponentの脆弱性で任意のPHPコードが実行できる仕組み - disり用。

    もはや懐かしい感じのあるCakePHPセキュリティトークンから任意のPHPを実行できる脆弱性ですが、なぜこれで任意のPHPコードが実行可能になってしまうのか心配で夜も眠れない方の為に、実行される仕組みを解説してみようと思います。詳細とアドバイザリ、PoCは以下のものを参照しています。 http://co3k.org/diary/12 http://malloc.im/CakePHP-unserialize.txt http://malloc.im/burnedcake.py CakePHPSecurityComponentが提供するCSRF対策のトークンは単一の識別子ではなく、':' でトークンと$lockedという謎の値が繋がれたものになっています。$lockedには配列をシリアライズしたものをROT13で変換したものが入っています。この$lockedに任意の値を入れることで任意のP

    CakePHPのSecurityComponentの脆弱性で任意のPHPコードが実行できる仕組み - disり用。
  • 脆弱性は誰のせい? �PHP、MySQL、Joomla! の責任やいかに

    セキュリティ・ミニキャンプ in 近畿 2017(神戸)における講演です http://www.security-camp.org/minicamp/kobe2017.html

    脆弱性は誰のせい? �PHP、MySQL、Joomla! の責任やいかに
  • PHPのJSONのエスケープ

    (Last Updated On: 2023年12月8日) 追記:最近のOWASPガイドの更新でJavaScript文字列はUnicodeエンコードで安全性を確保するよう変更されました。元々このブログでもUnicodeエスケープのまま利用するように書いています。他の言語のユーザーはUnicodeエスケープを利用しましょう。PHPもASCII領域の文字をUnicodeエスケープするようにした方が良いと思います。これは提案して実現するように努力します。 JSONはJavaScriptのオブジェクトや配列を表現する方式でRFC 4627で定義されています。メディアタイプはapplication/json、ファイル拡張子はjsonと定義されています。 PHPにJSON形式のデータに変換するjson_encode関数とjson_decode関数をサポートしています。 JSON関数がサポートされている

    PHPのJSONのエスケープ
  • 安全なPHPアプリケーションの作り方2014

    神戸ITフェスティバル講演 http://kobe-it-fes.org/kif2014/seminar/entry-197.html

    安全なPHPアプリケーションの作り方2014
  • JSON SQL Injection、PHPならJSONなしでもできるよ

    DeNAの奥さんと、はるぷさんがJSON SQL Injectionについて公表されています。 The JSON SQL Injection Vulnerability 不正なJSONデータによるSQL Injectionへの対策について (Json.pm+SQLクエリビルダー) 上記の記事は、主にPerlスクリプトがJSONデータを受け取るシナリオで説明されています。もちろん、この組み合わせに限定したはなしではないわけで、それではPHPではどうだろうと思い調べてみました。 JSON SQL Injectionとは 以下、はるぷさんの「不正なJSONデータによる…」にしたがってJSON SQL Injectionについて説明します。 Perl向けのSQLジェネレータの一つであるSQL::Makerにおいて、以下のスクリプトを想定します。 my ($sql, @bind) = $builde

  • 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)
  • PHP5.4のhtmlspecialcharsに非互換問題

    第3引数を指定していない場合の影響前述のように、htmlspecialchars関数の第3引数を指定していない場合、PHP5.3までは、文字エンコーディングがISO-8859-1が指定されたとみなされます。この場合、入力内容にかかわらず不正な文字エンコーディングと判定されることはありません。したがって、文字エンコーディングのチェックが働かない代わりに、エラーになることもありませんでした。 これに対して、PHP5.4の仕様により文字エンコーディングがUTF-8とみなされた場合に、Shift_JISやEUC-JPの2バイト文字が入力されると、高い確率で「UTF-8として不正」というエラーになり、htmlspecialchars関数の出力は空になります。つまり、プログラムが正常に動作しません。 htmlspecialchars関数の第3引数を指定しておらず、内部文字エンコーディングがShift_

  • PHPのSession Adoption脆弱性

    (Last Updated On: 2018年8月13日)PHPのセッションモジュールはセッションアダプションに脆弱なのですが、開発者の理解が得られず何年間も放置されています。 セッションアダプション脆弱性: 未初期化のセッションIDを受け入れてセッションを確立する脆弱性。 PHPのセッションIDはデフォルトでドメイン指定無し、パスは/に設定されています。専用サイトならこれであまり困ることは無いのですが、複数のアプリケーションやユーザが利用するようなサイトでは問題になります。 例えば、Chromeはパスよりドメインが優先されるのでドメインを利用したセッションIDの固定化などが起きます。IEではドメインよりパスが優先されるのでパスを利用したセッションIDの固定化などが起きます。 session_regenerate_id()を使えばOK、と考えている人も多いようですが既に設定済みのクッキーの

    PHPのSession Adoption脆弱性
  • Live Nude Cams 😍 - Ooh Cams

    Live nude webcam chat IntroductionLive nude webcam chat has become increasingly popular as a form of online entertainment and communication. This unique platform allows individuals to connect with models in real-time, engaging in intimate experiences through video chat. With the advancements in technology and the widespread availability of high-speed internet connections, live nude webcam chat has

  • PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog

    なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,来はsession_regenerate_id関数をログイン

    PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog
  • paginationにXSS攻撃の可能性があったのでチケット投げた - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHP 1.2で導入されたPagination機能はページング処理が簡単に導入できて最高ですが、今回paginator helperで、ある値がエスケープやurlencodeされていない箇所があり、クロスサイトスクリプティング(XSS)の可能性があり、問題だと思ったので家CakePHPのTracにバグチケットを投げてみました(今年の目標の一つにチケットを投げるというのがあったのでこれは達成です) チケット投げて3日程度で、修正パッチが出ました。 https://trac.cakephp.org/changeset/8061 https://trac.cakephp.org/ticket/6134 日コミュニティ内でのやりとりは下記にあります。 http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id

    paginationにXSS攻撃の可能性があったのでチケット投げた - cakephperの日記(CakePHP, Laravel, PHP)
  • 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サーバ上で任意のコマンドを実行することできます。 この脆弱性は、アップロード可能なフ

  • なぜにそんな単純な脆弱性が放置されてる? - がるの健忘録

    んと…知りうる限りではPHPでやたら多いのですが(それがPHPのシェアによるモノなのかは微妙に不明)。 XSS用の、HTMLのエスケープ処理。おとなしく素直に<>の2文字がまず妥当だと思うのですが。なんでか、<>は放置して”と’(と¥)に対して¥を付ける、っていう処理をあちこちで見ます。 んと…ぶっちゃけ「モノごっつ簡単にクラックできる」のですが。 なんでこーゆーもどき処理になるんでしょ? っつのが。一ヶ所で見るだけなら「ふぅん」程度なのですが、割合にあちこちで散見するです。 …なんかPHPの実装的にありましたっけか? 最近…でもないのですが。自作フレームワークのMagicWeapon(略称 MW)使い倒してるので、そこのセキュリティクラス使ってるから…どうも不思議で。 次。 これは多分Javaの思想上の問題のような気がするのですが。 先に暴言。 いいから永続オブジェクトとかいう発想やめれ

    なぜにそんな単純な脆弱性が放置されてる? - がるの健忘録