タグ

PHPに関するnaga_sawaのブックマーク (16)

  • CGI版PHPに対する魔法少女アパッチマギカ攻撃を観測しました

    昨夜に、魔法少女アパッチ☆マギカ攻撃を観測しました。魔法少女アパッチ☆マギカとは、PoCのソースコードに Apache Magica by Kingcope とコメントされていることに由来しています(というか、私がそう訳しましたw)。 これは10月29日にPoCが発表されたPHP-CGI攻撃(CVE-2012-1823)の変種です。従来のPHP-CGI攻撃は、CGI版PHPが動作する環境で、PHPスクリプト(中身はなんでもよい)に対する攻撃でしたが、魔法少女アパッチマギカの方は、/cgi-bin/に置かれたPHP処理系(php-cgiなど)に直接攻撃するものです。 CGI版PHPを設置する方法は複数ありますが、よく使われる方法としてApacheのリダイレクトによりPHPスクリプトをPHP処理系に実行させる方法があります。この場合、/cgi-bin/php-cgiなどとしてPHP処理系を公開

  • 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のエスケープ
  • 書式文字列によるSQLインジェクション攻撃例

    以下のようなコードがあり、nameは画面入力なのでSQLインジェクションが起こるのでは? と作成者に確認したところ、"%s"してあるから大丈夫との返事をもらいました。 ネット調べるとmysql_real_escape_stringでエスケープしてから"%s"で変換すれば大丈夫といった内容は見つけたのですが、mysql_real_escape_stringなど不要との返事をもらいました。 なぜ?と聞くとそういうものだとしか回答がありません。 ひどいですね。これは質問者が正しく、sprintfの%sで受けただけでは、SQLインジェクション脆弱性となります。 しかし、どうしてこのような間違った知識が出てきたのかと考えるに、数値を%dで受ける場合と混乱したのではないかと憶測しました。数値の場合、書式%dで受けていれば、仮に攻撃コードが入力されたとしても、%dで整数に強制変換されるので、SQLインジ

    書式文字列によるSQLインジェクション攻撃例
    naga_sawa
    naga_sawa 2012/12/11
    「いや、sprintfなんか使わずにプレースホルダ使えよ…」というのはダメなんでしょうか?
  • https://tanaka.sakura.ad.jp/archives/001052.html

    naga_sawa
    naga_sawa 2010/05/19
    とあるジェネレーターの作り方
  • sdn-project.net

    naga_sawa
    naga_sawa 2010/05/19
    PHP Twitter クライアントの OAuth 対応
  • サーバーサイド jQuery をやってみる! - IT戦記

    最近、社内で PHP Spidermonkey が流行って(?)いるようです><! Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript id:ama-ch さすがです>< というわけで 僕も、 PHP の Spidermonkey でどのくらいのことが出来るのか試してみました>< まず、 Hello, world! <?php // new して $js = new JSContext(); // print 関数作って $js->registerFunction(function($v) { print $v; }, 'print'); // こんにちはこんにちは! $js->evaluateScript('print("Hello, world!!")'); Hello, world!おおお、簡単! 次は、 id:m-hiy

    サーバーサイド jQuery をやってみる! - IT戦記
    naga_sawa
    naga_sawa 2010/02/10
    サーバサイドJavaScript
  • PHPの開発効率を上げる10個の関数 - PHP,MySQL,Flex,JSな日々+イラストとか

    「追記とか」にコメントの返答や追記をしてますので合わせてどうぞ。 かれこれ3年くらいPHPをやっているので、せっかくなので10個の便利な関数を並べてみました。 作業効率がかなりアップするので、これからPHPをやってみようかなぁって思う方は知っておくと便利だと思います。 変数、配列の内容をキレイに表示する関数「d」 変数や配列の内容をHTML構文でキレイに表示してくれます。 しかも、var_dumpと書くとタイピングが大変なので「d($hoge)」として簡単に記述。 これだけでも作業効率8倍 function d() { echo '<pre style="background:#fff;color:#333;border:1px solid #ccc;margin:2px;padding:4px;font-family:monospace;font-size:12px">'; foreac

    PHPの開発効率を上げる10個の関数 - PHP,MySQL,Flex,JSな日々+イラストとか
    naga_sawa
    naga_sawa 2010/02/04
    PHPの開発効率を上げるユーティリティ関数群
  • PHP基礎文法最速マスター

    PerlRubyの文法一覧がとても良くまとまっていたので、便乗してPHPでもやってみました。 Perl基礎文法最速マスター – Perl入門〜サンプルコードによるPerl入門〜 Route 477 – Ruby基礎文法最速マスター 他の言語をある程度知っている人はこれを読めばPHPの文法を何となく理解できると思います。 間違い、不足等々あれば教えて下さいm(_ _)m バージョン PHP5.3系がリリースされていますが、ここではPHP5.2系を対象としています。 1.基礎 コードブロック PHPコードは「<?php」という開始タグから始まります。終了タグは「?>」です。HTMLPHPコードを埋める際は終了タグを使いますが、ライブラリのようにPHPコードのみを記述する際は終了タグを省くことが慣例となっています。 終了タグを省く理由について id:Kiske さんに解説頂いています。ありが

  • PHPでTwitter APIのOAuthを使う方法まとめ

    この記事以降 Twitter API の仕様が変わっており、このままでは正しく機能しない場合があると思います。近いうちに今のやり方を書くので、それまで参考程度にご覧ください。 Twitter API の OAuth でひととおりやってみた。 忘れないようにメモ。 大雑把な流れ Twitter にアプリケーションを登録する。 Consumer Key と Consumer secret を取得する。 リクエストトークンを取得する。 認証用 URL を取得する。 ユーザーから承認を受ける(bot の場合は自分でやる)。 アクセストークンを取得する。 API にアクセスする。 以下、やった作業の手順です。 事前準備 HTTP_OAuth を使えるようにする OAuth の通信部分そのものは PEAR の HTTP_OAuth を使うことにしたので これをインストールする。 一番めんどくさい部分を

    PHPでTwitter APIのOAuthを使う方法まとめ
    naga_sawa
    naga_sawa 2010/01/28
    PHP で OAuth を使う
  • PHP: Mcrypt 関数 - Manual

  • 「PHPで暗号化・復号あれこれ」の続き - Do You PHP はてブロ

    ラボブログの続きですが。。。 mcryptのpaddingは 平文の長さがブロックサイズ倍になるように ASCIIZ('\0')を付けるだけなので, base64化することで末尾のASCIIZを正しく保持する効果があると思われます(試してはいません). 今回挙げたサンプルを作る際、復号データの末尾に何か付加されているのは確認していたのですが、base64_encodeするとうまくいったので、今回はそれ以上深く追っていませんでした。また、コメントにある「padding」を見て、パディングのことをすっかり忘れていたことを思い出しました。 ということで、PEAR::Crypt_Blowfishを使ったサンプルを元に見てみました。以下のコードはラボブログに書いたサンプルからbase64_xxxxxxを抜いて、文字列長やコード出力(面倒なのでurlencodeで代用)を追加したものです。サンプルのフ

    「PHPで暗号化・復号あれこれ」の続き - Do You PHP はてブロ
    naga_sawa
    naga_sawa 2008/11/24
    PHPで暗号化・復号時の padding の検証
  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    shimookaです。 皆さんはPHPでデータの暗号化・復号をする必要に迫られた場合、どのようにしているでしょうか?今回は、PHPで利用可能なモジュールやパッケージとそれらのサンプルを3つほど挙げてみました。 mcrypt拡張モジュールを使った暗号化 libmcryptを利用したPHP拡張モジュールです。DES、3DES、Blowfish、RIJNDAEL(ラインダール:AES暗号とも呼ばれる)、Blowfishなどのブロック暗号をサポートしています。利用可能な暗号モードはCBC、OFB、CFB、ECBです。 PHPで利用するには、libmcryptをインストールし、configureオプションに「--with-mcrypt」を付ける必要があります。また、PHP5以降、libmcrypt 2.5.6以降が必要です。 以下は、SSHやファイル暗号化ソフトウェアなどに広く利用されているBlow

    naga_sawa
    naga_sawa 2008/11/24
    mcrypt, PEAR::Crypt_Blowfish を使った暗号化と復号
  • Ground-SunLight

    — y2sunlight ,Since 2019-10-02 Ground Sunlight は「Windowsで作る - PHPプログラミングの開発環境」をテーマにしたサイトです。 オープンソースを利用している全ての人達に祝福を!

    naga_sawa
    naga_sawa 2008/10/20
    PHP のエラー出力の設定方法など
  • ホームページ - Programming Magic

    オンラインカジノゲームで遊んで時間を潰したいだけであれば、お気に入りのゲームがどんな手順で作られたのかなど、考えたこともないでしょう。しかし、どのゲームもすべてプログラミングから始まっており、プラットフォーム全体を動かすソフトウェアの作成から始まるのです。 プログラマーは、ユーザーが楽しく格的なゲームをプレイできるよう、コードを設計し、グラフィックを制作しています。言ってみれば、プログラマーがいなければ、オンラインカジノゲームは存在しないのです!では、このプログラミングという作業がオンラインギャンブル業界にどんな影響を与えているのか見てみましょう。 ゲーミングソフトウェア パソコンの前に座ったり、スマホをいじったりしている時は、ゲームを作るためにどれだけの労力が注ぎ込まれているのかなど気にしないものです。しかし、家に居ながらにしてカジノゲームにアクセスすることができるのは、ゲーミングソフ

    ホームページ - Programming Magic
    naga_sawa
    naga_sawa 2008/10/20
    PHP で標準出力を変数に取得する方法.
  • hansode.org - このウェブサイトは販売用です! - hansode リソースおよび情報

    このウェブサイトは販売用です! hansode.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、hansode.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!

    naga_sawa
    naga_sawa 2008/07/09
    子プロセスの終了コード, stdout, stderr を別個に取得する方法
  • 「SimpleXML」と「JSON」で共通データ形式を便利に (1/2)- @IT

    第2回 「SimpleXML」と「JSON」で共通データ形式を便利に 亀 大地 アシアル株式会社 2008/6/19 PHP4のサポートが終了し、これまでPHP4が中心だった開発現場でも、いよいよPHP5への移行を視野に入れる時期が来た。PHP5ならではの機能を生かした開発を進めるためのポイントを紹介する(編集部) 第1回「例外処理の実装を把握する」では、「try~catch」ブロックと「Exception」オブジェクトを利用した例外処理を解説した。今回からは、PHP5から実装された機能やモジュールの中から、特に便利なモジュールをピックアップして紹介していきたい。まずは比較的メジャーで使いどころも多い「SimpleXML」「JSON」「PDO」といったモジュールを紹介する。 手軽にXMLを扱えるようにしたSimpleXML 共通データ形式にはさまざまなものがあるが、最も一般的なデータ形式

  • 1