タグ

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

  • 徳丸本の台湾版が発売開始されました - ockeghem's blog

    拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」が中国語繁体字に翻訳され、台湾で販売開始されましたので報告します。出版社の紹介ページ。 @kuroneko_stacyさんが、早くも台湾で購入されたそうで、書店での平積みの様子を写真にとって下さいました。画像をクリックすると拡大します。 昨日見が届きましたので、いくつか写真を紹介します。まずは表紙。 謝辞のところ。 人気の(?)3章、悪人と銀行員の会話。 台湾屋さんのコメント(@kuroneko_stacyさんと現地屋さんの会話) 徳丸台湾でも人気だそうです。屋のおじちゃんが良さを熱く語ってくれました。「このは凄く良くできている!日人が書いているんだ。知ってたか?」って聞かれたので、おこがましくも著者は友人ですよって言わせていただきました(笑) https://twitter.com/kuronek

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

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

    何が正しいのかを考える際は、正しさの基準が必要 - ockeghem's blog
    SUM
    SUM 2011/12/03
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
    SUM
    SUM 2011/11/09
  • CookieのDomain属性は *指定しない* が一番安全 - ockeghem(徳丸浩)の日記

    たまに誤解があるようですが、Cookieを設定する場合のDomain属性は *設定しない* のがもっとも安全です。以下、例示により説明します。 ※このエントリは、http://blog.tokumaru.org/2011/10/cookiedomain.html に移転しました。恐れ入りますが、続きは、そちらをご覧ください。

    CookieのDomain属性は *指定しない* が一番安全 - ockeghem(徳丸浩)の日記
    SUM
    SUM 2011/10/13
  • 『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem's blog

    このエントリでは、数値型の列に対するSQLインジェクションについて説明します。 以前のエントリで、たにぐちまことさんの書かれた『よくわかるPHPの教科書』の脆弱性について指摘しました。その際に、『私が見た範囲ではSQLインジェクション脆弱性はありませんでした』と書きましたが、その後PHPカンファレンス2011の講演準備をしている際に、同書を見ていてSQLインジェクション脆弱性があることに気がつきました。 脆弱性の説明 問題の箇所は同書P272のdelete.phpです。要点のみを示します。 $id = $_REQUEST['id']; // $id : 投稿ID $sql = sprintf('SELECT * FROM posts WHERE id=%d', mysql_real_escape_string($id) $record = mysql_query($sql) or die(

    『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem's blog
    SUM
    SUM 2011/09/27
  • PHPのイタい入門書を読んでAjaxのXSSについて検討した(2)~evalインジェクション~ - ockeghem(徳丸浩)の日記

    昨日の日記の続きで、Ajaxに固有なセキュリティ問題について検討します。タイトルはXSSとなっていますが、今回紹介する脆弱性はXSSではありません。 作りながら基礎から学ぶPHPによるWebアプリケーション入門XAMPP/jQuery/HTML5で作るイマドキのWeから、Ajaxを利用したアプリケーションの概念図を引用します(書P20の図1-23)。 Ajaxのアプリケーションでは、XMLHttpRequestメソッド等でデータを要求し、サーバーはXML、JSON、タブ区切り文字列など適当な形式で返します。ブラウザ側JavaScriptでは、データ形式をデコードして、さまざまな処理の後、HTMLとして表示します。以下に、Ajaxのリクエストがサーバーに届いた後の処理の流れを説明します。 サーバー側でデータを作成、取得 データ伝送用の形式(XML、JSON、タブ区切り文字列等)にエンコード

    PHPのイタい入門書を読んでAjaxのXSSについて検討した(2)~evalインジェクション~ - ockeghem(徳丸浩)の日記
    SUM
    SUM 2011/09/06
  • 私はいかにしてソフトバンク端末60機種のJavaScriptを検証したか - ockeghem's blog

    昨日のソフトバンクの非公式JavaScript対応の調査結果 | 徳丸浩の日記で報告したように、昨年5月に、ソフトバンク60機種の検証を行い、JavaScript対応の状況などを調査しました。当時はまだ公式なJavaScript対応機種はない状態でしたが、既にほとんどの端末が *非公式に* JavaScriptに対応していました。 このエントリでは、検証の様子を報告します。 なぜJavaScript対応状況を調査したか http://www.hash-c.co.jp/info/20091124.htmlを公表した前後に、とある方(この方)から、ソフトバンクのケータイでもJavaScriptが動作すると伺いました(参考のやりとり)。XMLHttpRequestも含めてJavaScrptが動くと教えていただいた932SHを私も購入して調べたところ、以下が判明しました。 確かにJavaScrip

    私はいかにしてソフトバンク端末60機種のJavaScriptを検証したか - ockeghem's blog
    SUM
    SUM 2011/07/06
  • EZwebの2011年秋冬モデル以降の変更内容とセキュリティ上の注意点 - ockeghem's blog

    au/KDDIの技術情報サイトEZfactoryには、2011年秋冬モデル以降にEZwebの仕様変更がある旨表示されています。セキュリティ上の問題の可能性もあるため以下に報告します。 EZfactoryトップページでの告知内容 EZfactoryトップページには、2011年秋冬モデルでの変更を以下のように要約しています。 ※お知らせ※ EZブラウザは、2011年秋冬モデルにて、EZサーバを含め、「機能」及び「ネットワーク環境」の見直しを行ないます。 これによる主な変更点は以下のとおりです。 <主な変更点> ・EZサーバの言語変換機能が削除され、HDMLが非サポートとなる。 ・EZブラウザ、PCサイトビューアーのIPアドレス帯域が統一される。 今後EZブラウザ向けコンテンツを作成する場合は、XHTML Basicを推奨します。 http://www.au.kddi.com/ezfactory

    EZwebの2011年秋冬モデル以降の変更内容とセキュリティ上の注意点 - ockeghem's blog
    SUM
    SUM 2011/06/15
    こういう情報がキャリアが提供せずにこういうブログ記事なるのってどうなの
  • モテるセキュ女子力を磨くための4つの心得「SQLインジェクションができない女をアピールせよ」等 - ockeghem's blog

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

    モテるセキュ女子力を磨くための4つの心得「SQLインジェクションができない女をアピールせよ」等 - ockeghem's blog
    SUM
    SUM 2011/05/18
    がーん。><の正しい使い方かもしれないというか実はそれがやりたかっただけじゃ…
  • ソーシャルボタンを導入したヨミウリ・オンラインはリンク制限を撤廃すべき - ockeghem's blog

    ヨミウリ・オンラインを閲覧していて、ふと、ソーシャルブックマークのボタンが設置されていることに気がつきました。以下に引用します。 ご覧のように、twitterやfacebookの他、はてなブックマークにワンタッチで登録できるようになっています。ソーシャルブックマークのボタンにはヘルプボタン(右端の?)があり、ヘルプページにリンクしています。 ヨミウリ・オンラインにソーシャルボタン導入 ヨミウリ・オンライン(YOL)の記事に「ソーシャルボタン」、および「携帯に送るボタン」を設置しました。ソーシャルボタンはソーシャルサービス上で記事をブックマークしたり、関心を持った記事を手軽に友人・知人と共有したりすることができます。ぜひご利用ください。 【中略】 (2010年11月15日 読売新聞) http://www.yomiuri.co.jp/info/socialbutton/ 引用部分にあるように

    SUM
    SUM 2011/05/12
  • 僕が「ホワイトリスト」を採用しなかった訳 - ockeghem's blog

    ホワイトリストという用語はセキュリティの分野では非常に基的な用語ですが、セキュアプログラミングという文脈では意外に曖昧な使われ方がされているように見受けます。エントリでは、ホワイトリストという用語の意味を三種類に分類し、この用語の実態に迫ります。拙著体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)では、ホワイトリストという用語を一度も使っていませんが、その理由に対する説明でもあります。 ホワイトリストの分類 私の調査によると、ホワイトリストは以下の3種類に分類されます。 許可されたものの一覧表(第一種ホワイトリスト) セキュリティ上安全と考えられる書式(第二種ホワイトリスト) アプリケーション仕様として許可された書式(第三種ホワイトリスト) 以下順に説明します。 許可されたものの一覧表(第一種ホワイトリスト) ホワイトリストというくらいですから、来のホワイトリストは

    僕が「ホワイトリスト」を採用しなかった訳 - ockeghem's blog
    SUM
    SUM 2011/05/09
  • ライザムーン(LizaMoon)攻撃に対してもWAFは有効 - ockeghem's blog

    ライザムーン攻撃に対する行き届いた解説を読みました。 大規模インジェクション 「LizaMoon」攻撃について調べてみた。 - piyolog ここで紹介されている内容は素晴らしいと思うのですが、一点、WAFに関する以下の記述が引っかかりました。 SQLインジェクションであれば既知の攻撃手法でありWAFで防ぐことは出来るのではという考え方もありますが、例えばブラックリストタイプのWAFでこの数値リテラル型をつくSQLインジェクションを防ぐことが出来ません。HTTPリクエストとして受けた文字列だけで、最終的にデータベースに対して発行されるSQLでその文字列がどのような扱いになるか(数値リテラルになるのかどうか)判断することが出来ないためです。 当にブラックリストタイプのWAFで防ぐことができないのでしょうか。IBMのレポートに紹介されている以下の攻撃で考えてみます。 /target.asp

    ライザムーン(LizaMoon)攻撃に対してもWAFは有効 - ockeghem's blog
    SUM
    SUM 2011/04/07
  • コメント 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(徳丸浩)の日記
    SUM
    SUM 2010/10/21
  • 携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog

    最近購入したPHP×携帯サイト 実践アプリケーション集を読んでいて妙な感じがしたので、この感覚はなんだろうと思っていたら、その理由に気づいた。書に出てくるアプリケーションは、PHPのセッション管理機構を使っていないのだ。そんな馬鹿なと思ったが、目次にも索引にも「セッション」や「session」という語は出てこない。サンプルプログラムのCD-ROM上で session を検索しても出てこないので、セッションはどこでも使っていないのだろう。 そうは言っても、書にはブログやSNSなど認証が必要なアプリケーションも登場する。書で採用している認証方式はこうだ。 携帯電話の個体識別番号を用いた、いわゆる「かんたんログイン」のみを使う 認証状態をセッション管理機構で維持しない。全てのページで毎回認証する そのため、「iモードID」など、ユーザに確認せずに自動的に送信されるIDを用いる つまり、全て

    携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog
    SUM
    SUM 2009/08/03
  • 1