タグ

ブックマーク / ockeghem.hatenablog.jp (16)

  • はてなブックマークボタンがマイクロアド社の新ガイドラインに従ったらこうなる - ockeghem's blog

    すでにこちらでご案内の通り、私のブログ(徳丸浩の日記およびEGセキュアソリューションズオフィシャルブログ)に貼っていた「はてなブックマークボタン」により、読者の皆様の閲覧行動がマイクロアド社によりトラッキングされておりました。読者の皆様に断りなく不快な結果を強いていたことに対してお詫び申し上げます。既に当該ボタンは撤去しております。 その後、株式会社はてな社長の近藤淳也氏およびはてなの日記にて行動情報の提供をやめる旨のアナウンスが一昨日ありました(こことここ)。さらに、マイクロアド社からは、昨日以下のアナウンスがありました。 今後マイクロアドでは、ブログパーツや外部ボタン等、マイクロアドと直接提携関係にあるパートナー以外の第三者にあたる媒体・配信面に付与される可能性のあるものについて、それらの表示領域にマイクロアドからの行動履歴情報の蓄積を無効化するオプトアウトページへの導線設置を義務化い

  • 何が正しいのかを考える際は、正しさの基準が必要 - ockeghem's blog

    大垣さんの寄稿記事「第44回 セキュリティ対策が確実に実施されない2つの理由:なぜPHPアプリにセキュリティホールが多いのか?|gihyo.jp … 技術評論社」のまとめにて、『最後に「何が正しいのか?」常に考えるようにしてください』と書かれています。この部分は、私への反論のようですので、このエントリで返答したいと思います。 大垣さんの主張 先にも述べたように、大垣さんはこのエントリの「まとめ」として以下のように書かれています。 最後に「何が正しいのか?」常に考えるようにしてください。 http://gihyo.jp/dev/serial/01/php-security/0044?page=2 この主張自体には私も大賛成です。大垣さんの記事は以下のように続きます。 例えば,SQL文を作成する場合にリテラル(パラメータ)を文字列としてエスケープすると浮動小数点型のデータが正しく処理されないデ

    何が正しいのかを考える際は、正しさの基準が必要 - ockeghem's blog
  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) - ockeghem's blog

    このエントリでは、あるPHPの入門書を題材として、Ajaxアプリケーションの脆弱性について検討します。全3回となる予定です。 このエントリを書いたきっかけ twitterからタレコミをちょうだいして、作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeというを読みました。所感は以下の通りです。 タレコミ氏の主張のように、書はセキュリティを一切考慮していない 主な脆弱性は、XSS、SQLインジェクション、任意のサーバーサイド・スクリプト実行(アップロード経由)、メールヘッダインジェクション等 脆弱性以前の問題としてサンプルスクリプトの品質が低い。デバッグしないと動かないスクリプトが多数あった 上記に関連して、流用元のソースやデバッグ用のalertなどがコメントとして残っていて痛々しい 今時この水準はないわーと思いました。以前

    PHPのイタい入門書を読んでAjaxのXSSについて検討した(1) - ockeghem's blog
  • もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog

    たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ

    もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog
    ghostbass
    ghostbass 2011/08/23
    ノーバリデーション、ノーエスケープ作戦。/ではなかった。
  • モテるセキュ女子力を磨くための4つの心得「SQLインジェクションができない女をアピールせよ」等 - ockeghem's blog

    こんにちは、セキュリティ勉強会などで講師を担当しているockeghem夫です。私は学歴も知識もありませんが、セキュリティに関してはプロフェッショナル。今回は、モテるセキュ女子力を磨くための4つの心得を皆さんにお教えしたいと思います。 1. あえて2〜3世代前の書籍の知識で対策する あえて2〜3世代前の書籍の知識で脆弱性対策するようにしましょう。そして勉強会の打ち上げで好みの男がいたら話しかけみましょう。「あ〜ん! addslashes当にマジでチョームカつくんですけどぉぉお〜!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「SQLインジェクションとか詳しくなくてぇ〜! サテ技に載ってたからずっとaddslashes使ってるんですけどぉ〜! 日語が化けるんですぅ〜! ぷんぷくり〜ん(怒)」と言いましょう。だいたいの男は新しい書籍を持ちたがる習性があるので、古か

    モテるセキュ女子力を磨くための4つの心得「SQLインジェクションができない女をアピールせよ」等 - ockeghem's blog
    ghostbass
    ghostbass 2011/05/18
    いいからとっととエスケープしろ/いや、そんな女はサニタイズだ! のほうが良かったかな
  • クイズ:XSSとCSRFはどこにありますか? - ockeghem's blog

    先の日記(XSSはブラウザ上でスクリプトが動き、CSRFはサーバー上でスクリプトが動く - ockeghem(徳丸浩)の日記)は、仕込んだネタがあたって多くの方に読んでいただいた。細かい内容については、頂戴した批判や反省もあるが、このテーマに対して多くの関心を集めることができたのは良かったと思う。今回も、手を変え品を変えて、XSSとCSRFの違いを説明しよう。ということで、今回はクイズ仕立てにしてみた。 といっても、非常に簡単なクイズだ。 認証を必要とする会員制サイトmaitter.comで、個人情報を入力する画面がある。典型的な、入力(A)-確認(B)-登録(C)という画面遷移(下図)を想定した場合、 XSSが発生しやすい画面を一つあげよ CSRFが発生しやすい画面を一つあげよ というものだ(入力画面は初期入力のみ想定)。エラー時の挙動などは指定されていないので想定しないものとする。 解

    クイズ:XSSとCSRFはどこにありますか? - ockeghem's blog
  • 本を書くことになりました&レビュアー募集のお知らせ - ockeghem's blog

    ソフトバンククリエイティブさんからお話をいただき、Webアプリケーションセキュリティを書くことになりました。6月から書き始めて、年内に出版できればいいなという感じのスケジュール感です。 今度書くは、入門的な内容になる予定ですので、私のブログの読者が期待するような、マニアックな内容にはならないと思いますが、入門的なこそ今必要なのではないかなと思っています。言語としてはPHPを基として、適宜他の言語(PerlJava等)を補足する予定です。 脱サラしたときの目標の1つが単著を出すことだったのですが、いつもながらそのような機会は向こうからやってきます。私は「はい、やります」と言えばよいだけなので、ありがたいなーと思っています。 今忙しいので書き始めるのは来月からですが、結城さんみたいに、ブログに「を書いています」と書き始めるのがささやかな夢です:-) あと、レビュアーを募集しようと

    本を書くことになりました&レビュアー募集のお知らせ - ockeghem's blog
  • P-07AでもJavaScriptが再開され、あらたな制限がみつかった - ockeghem's blog

    i-mode2.0は前途多難 - ockeghem(徳丸浩)の日記にて報告したように、ドコモのiモードブラウザ2.0のJavaScript機能が5/28に停止されていたが、日ケータイアップデートが準備されたので、深夜3時まで待たずに即座にアップデートを実行した。そして、JavaScriptが復活していることを確認した。 iモードブラウザ2.0のJavaScript « mpw.jp管理人のBlogで報告されているように、alert関数や、setRequestHeaderメソッドが無効化されていることを確認した。関数自体は削除されていないのだが、実行しても何もおこらない状態になっている。alertを無効化した理由は理解に苦しむが、setRequestHeaderを無効化したのは、携帯JavaScriptとXSSの組み合わせによる「かんたんログイン」なりすましの可能性で指摘したような危険性を

    P-07AでもJavaScriptが再開され、あらたな制限がみつかった - ockeghem's blog
    ghostbass
    ghostbass 2009/11/18
    (uername)/secret.txtって設定が…
  • 続:SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog

    前回のエントリSQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem(徳丸浩)の日記に対応して、mi1kmanさんのブクマ経由で、訂正が出ていることを知った。 訂正内容 1ページ目を下記のように変更いたしました(2個所)。 バインド値はエスケープ処理した後にプレースホルダにはめ込むので、悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 ↓ SQL文のひな型とバインド値は個別にデータベースに送られ、構文解析されるので、バインド値に悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 http://www.impressit.co.jp/inside/?p=791 なんとなく私のエントリの断片が散りばめられているのを別にしても、『悪意あるSQL文…の実行を阻止することができる』というあたりに、サニタイズ的発想が依

    続:SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog
  • SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog

    以前このブログでも取り上げたことのある神戸デジタル・ラボの近藤伸明氏がThink IT上で「SQLインジェクション大全」という連載を執筆しておられる。その第三回「SQLインジェクションの対策」を読んで以下の部分が引っかかった。 バインド機構とは、あらかじめSQL文のひな型を用意し、後から変動個所(プレースホルダ)に実際の値(バインド値)を割り当ててSQL文を生成するデータベースの機能だ。バインド値はエスケープ処理した後にプレースホルダにはめ込むので、悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 http://thinkit.jp/article/847/1/ たしかにエスケープ処理を使ってバインド機構を実装する場合もある。JavaMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性 | 徳丸浩の日記から派生して、MyS

    SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog
  • 「なぜPHPアプリにセキュリティホールが多いのか?」のセキュリティホール - ockeghem's blog

    大垣靖男さんの連載から 第21回 文字エンコーディングとセキュリティ(3):なぜPHPアプリにセキュリティホールが多いのか?|gihyo.jp … 技術評論社 一見この動作は無害のように思えるかもしれませんが,ブラウザなど,“\”がエスケープ文字になっているシステムでは重大な問題となります。 <div height="<?php echo addslashes($height); ?>" width="<?php echo addslashes($width); ?>"> この記事が公開された当初,上記のechoが抜けていた。しかし,echoがないと,プログラムの正常系としても動作しない。どこかから,突っ込みが入ったのであろう,その後echoが追加された。 しかし,まだ根的におかしい。 なぜなら,以下の部分が間違っているからだ。 ブラウザなど,“\”がエスケープ文字になっているシステム

    「なぜPHPアプリにセキュリティホールが多いのか?」のセキュリティホール - ockeghem's blog
    ghostbass
    ghostbass 2009/01/16
    サンプルは試してから / 「そもそも動きません」なサンプルもどこぞにあったな
  • 虫たちの音楽界 - ockeghem's blog

    ghostbass
    ghostbass 2008/05/10
    すげーたのしそう
  • コメント masa (2008/02/29 18:31) - パスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記

    ITProの記事が契機となって、PCIDSS(PCIデータセキュリティ規準)およびパスワードに関する規定が話題となっている*1。 「パスワードは90日ごとの変更」が義務づけられる!? | 日経 xTECH(クロステック) それに対して,PCIDSSは表現が具体的である。現在のバージョン1.1ではパスワードについて下記のような規定がある。 ■要件8.5.8 グループ、共有または汎用のアカウントとパスワードを使用しないこと。 ■要件8.5.9 ユーザー・パスワードは少なくとも90日ごとに変更する。 http://itpro.nikkeibp.co.jp/article/OPINION/20080220/294287/ このうち、要件8.5.9「ユーザー・パスワードは少なくとも90日ごとに変更する」に関して疑問を持った。これはいわゆる「セキュリティの常識」という奴の一つではあるが、実際のところ、

    コメント masa (2008/02/29 18:31) - パスワードの定期変更は「神話」なのか? - ockeghem(徳丸浩)の日記
    ghostbass
    ghostbass 2008/02/29
    定期的に変えろといいつつmkpasswdすら提供しない会社を知っている。
  • 価格詐称できるサイトはなぜ減少し、なぜ絶滅しないか - ockeghem's blog

    一昨日の日記hiddenのあまりにも馬鹿げた使い方 - ockeghem(徳丸浩)の日記で、hiddenパラメータの書き換えによる価格偽装の話を書いたら、はてなブックマークの反応が二つに分かれた。その典型例を引用させていただく。 NOV1975 えええええっーー3年前…いや5年前の記事かと思ったよ… KoshianX 昨日買物しようとしたサイトがそういうサイトでIPAに報告出しといたっすよ(TT 結局欲しかったものは買えず…… すなわち、「えっ、5年前ならいざ知らず今時あるの?」というパターンと、「あるある、そうそう」というパターンである。 昨日の日記hidden書き換えで単価の変更できるサイト - ockeghem(徳丸浩)の日記に書いたように、hidden書き換えで単価を変更できるサイトは、5年前からかなり減少はしたものの、なくなってはいない。古いサイトが残っているのではなく、新規開発

    価格詐称できるサイトはなぜ減少し、なぜ絶滅しないか - ockeghem's blog
  • hiddenのあまりにも馬鹿げた使い方 - ockeghem's blog

    これは面白い yohei-y:weblog: ステートレスとは何か では、ステートレスな場合はどうなのか。 客: こんにちは 店員: いらっしゃいませ。○○バーガーへようこそ 客: ハンバーガーセットをお願いします 店員: サイドメニューは何になさいますか? 客: ハンバーガーセットをポテトでお願いします 店員: ドリンクは何になさいますか? 客: ハンバーガーセットをポテトとジンジャーエールでお願いします 店員: +50円でドリンクをLサイズにできますがいかがですか? 客: ハンバーガーセットをポテトとジンジャーエール(M)でお願いします 店員: 以上でよろしいですか? 客: ハンバーガーセットをポテトとジンジャーエール(M)でお願いします。以上 店員: かしこまりました 引用元には明記されていないが、客の延々とした繰り返し部分は、ホストからhiddenフィールドで渡されてきたものを返し

    hiddenのあまりにも馬鹿げた使い方 - ockeghem's blog
    ghostbass
    ghostbass 2007/11/05
    自分がもってないデータは信じない。
  • 危険文字と言わないで - ockeghem's blog

    昨日、とあるベンダーのセキュリティセミナーに行きました。 そしたら、どうです。僕らのことを「危険文字」と呼んでる人がいるじゃありませんか。 ひどすぎます。僕らは日夜、世界中で、HTMLのページを書いたり、データベースを検索したりで、Webを支えているんです。僕らが無かったら、Yahoo!だって、Amazonだって、Googleだって、tokumaru.orgだって実現できないんですよ。うそだと思ったら、「<」も「>」も「'」も「"」もなしに、Webアプリを書いてごらんなさい。 こんなことを言ったら、UTF-7なら、7bitアスキーなら「危険文字」使わないで書けるとか言う人がいるかもしれない。でも考えてみてください。UTF-7とか7bitアスキーの方こそ、よっぽど「危険」じゃないですか。それに、UTF-7は見た目が変なだけで(UTF-7怒るかな?)、結局は僕らのことを表現しているんです。当た

    危険文字と言わないで - ockeghem's blog
  • 1