タグ

ブックマーク / blog.tokumaru.org (15)

  • 安全なWebアプリケーションの作り方改訂のお知らせ

    徳丸こと、「体系的に学ぶ 安全なWebアプリケーションの作り方」は、2011年3月の発売以降大変多くの方に読んでいただきました。ありがとうございます。 ただ、発売から既に7年が経過し、内容が古くなってきた感は否めません。たとえば、クリックジャッキングの説明はほとんどないですし、OWASP Top 10 2017で選入された安全でないデシリアライゼーションやXXEの説明もありません。なにより、Web APIJavaScriptセキュリティ等がほとんど書かれていないことが課題となっていました。 そこで、版元のSBクリエイティブと相談して、この度改訂することにいたしました。3月末脱稿、6月頃発売の見込みです。 改訂にあたり、以下を考えています。 Web APIJavaScriptに関する説明を4章に追加 XHR2対応に向けてCORSの説明を3章に追加 携帯電話の章は丸ごと削除して、別の内

    namikawamisaki
    namikawamisaki 2018/03/07
    リフローじゃない=エコーに読んでもらえない→とくまるさんがGoogleドキュメントにスキャンしてしまうかもしれない案件(違
  • Postfix で user+foo@domain 形式のエイリアスを使う方法

    Gmail では、user+foo@gmail.com 形式のメールアドレス別名が使えることはご存じの方が多いと思います。すなわち、自分のGmailアドレスが user@gmail.com である場合、user+foo@gmail.com や user+pokemon@gmail.comに送られたメールも、受け取ることができます。 私は個人ではPostfixをMTAとして運用しており、ウェブサービス等に登録するメールアドレスはサービス毎に別のメールアドレスを用いています。Yahoo! には yahoo5412@example.com、Googleには google4813@example.com という具合です(実際のメールアドレスは異なります)。しかし、多くのサービスに登録する場合、一々エイリアスを登録するのも面倒です。 そこで、Postfixでもuser+foo形式のエイリアスが使えな

  • WordPressの侵入対策は脆弱性管理とパスワード管理を中心に考えよう

    この記事はWordPress Advent Calendar 2015の7日目の記事です。 今年初めてWordCamp Tokyoにて講演の機会をいただき、WordPressセキュリティについて話しました(スライド)。そこでもお話ししましたが、WordPressに限らず、Webサイトへの侵入経路は2種類しかありません。それは以下の2つです。 ソフトウェアの脆弱性を悪用される 認証を突破される したがって、侵入対策としては以下が重要になります。 全てのソフトウェア(OS、Apache等、PHPWordPress体、プラグイン、テーマ等)を最新の状態に保つ パスワードを強固なものにする 以上! と叫びたい気分ですが、それではシンプル過ぎると思いますので、以下、WordCampでお話した内容とリンクしながら、もう少し細く説明したいと思います。 全てのソフトウェアを最新の状態に保つ Word

    namikawamisaki
    namikawamisaki 2015/12/08
    この記事がすこしでもWPカジュアルユーザに届きますように
  • HASHコンサルティングのイー・ガーディアングループ参加に関するお知らせ

    既にご案内の通り、イー・ガーディアン株式会社がHASHコンサルティング株式会社の全株式を取得し、完全子会社化することで合意いたしましたのでご案内いたします。 平たくというと、何が変わるの? (1) HASHコンサルティング株式会社の株主が変わります 旧株主: 徳丸浩(100%)  →  新株主: イー・ガーディアン株式会社(100%) (2) 社が移転します 旧社: 東京都品川区(自宅兼オフィス) 新社: 東京都港区麻布十番1-2-3 プラスアストルビル 5F ※イー・ガーディアン株式会社の社が入居しているビルです (3) 社員を増やします 旧: 徳丸が一人でなんでもやっていました 新: 一緒に仕事をしてくれる技術者を募集します 変わらないことは何? (1) 会社は存続します HASHコンサルティングという会社はイー・ガーディアン株式会社の子会社として存続し、社名も変わりません。

    namikawamisaki
    namikawamisaki 2015/03/12
    「一緒に仕事をしてくれる技術者を募集します」とのこと。
  • 気づけばプロ並みPHP 副読本:お助け電子BOOKへの寄稿の顛末

    谷藤賢一さんの著書『気づけばプロ並みPHP~ショッピングカート作りにチャレンジ! 』に、発売1周年の謝恩キャンペーンとして『副読:お助け電子BOOK』が公開されました(*1)。私はこの副読の中で、『第2章 【徳丸 浩氏 スペシャル寄稿】安全なWebアプリケーションのために』を寄稿しています。このエントリでは、寄稿の顛末を報告したいと思います。 動機 私が書『気づけばプロ並みPHP』を購入したのは昨年の10月29日ですから、書が出版されてまもなく、今から約1年前です。私は書を一読して、セキュリティ上の多数の問題があることに気がつきました。 以前は、セキュリティ上の問題が多い書評をブログ記事として書くことも多かったのですが、この際は書評という形にするのはためらいがありました。その理由は以下の様なものです。 私のブログの読者層はセキュリティに関心の高い方たちであり、書の読者とは重

    namikawamisaki
    namikawamisaki 2014/10/15
    電子書籍としての副読本という活用法
  • 模倣サイトとして各所から注意喚起が出されているサイトについて徳丸さんに聞いてみた

    高橋: こんにちは、高橋です。今日は徳丸さんをお招きして、今話題の『模倣サイトとして各所から注意喚起が出されているサイト』についてお話を伺います。徳丸さん、よろしくお願いします。 徳丸: 徳丸です。よろしくお願いします。 高橋: まず問題のサイトですが、NTT東日NTTドコモ、日銀行、外務省、総務省など様々なサイトを模倣したサイトが見つかっていて、各社、各省庁が注意喚起をしているというものです。詳しくは、北河拓士さんのまとめをごらんください。 徳丸: これ、総務省のサイトだと、http://www.soumu.go.jp.○○○.org/ のように、ドメイン名の先頭が物と同じだし、中身も同一だしで、見た人がびっくりしたのでしょうね。 高橋: はい。これはパクリのサイトではないのですか? 徳丸: パクリではありません。PROXYサーバーの一種で、元のサイトのアクセスして、その内容をそ

  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    namikawamisaki
    namikawamisaki 2014/03/04
    regexp
  • JALの不正ログイン事件について徳丸さんに聞いてみた

    高橋: こんにちは、高橋です。今日は徳丸さんをお招きして、JALの不正ログイン事件についてお話を伺います。徳丸さん、よろしくお願いします。 徳丸: 徳丸です。よろしくお願いします。 高橋: まず、事件の概要を説明します。日航空のホームページに不正アクセスがあり、JALマイレージバンク(JMB)のマイルが、Amazonのギフト券に勝手に交換される被害がありました。日航空の発表では、1月31日から2月2日にかけて、身に覚えがないマイル交換がされているという問い合わせが複数ありました。調査の結果、40人の利用者のマイルがアマゾンのギフト券、数百万円相当と交換されていたというものです。 徳丸: ここで問題となるのは、パスワードは数字6桁ということなんですよね。 高橋: やはりそこですか。パスワードが数字6桁だとどのような攻撃ができるのでしょうか? ブルートフォース攻撃 徳丸: まず、ブルートフ

    JALの不正ログイン事件について徳丸さんに聞いてみた
    namikawamisaki
    namikawamisaki 2014/02/10
    いろいろ参考になる/一番ぐっときたのは「1つのパスワードあたり平均では27人の利用者がいることになります。」あたり。
  • PHPとセキュリティの解説書12種類を読んでSQLエスケープの解説状況を調べてみた

    この投稿はPHP Advent Calendar 2013の13日目の記事です。昨日は@tanakahisateruのPHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪いでした。 現在twitterのタイムラインで、史上空前のSQLのエスケープブームが起こっています。 オレオレSQLセキュリティ教育は論理的に破綻している | yohgaki's blog 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ エスケープとプレースホルダをめぐる議論 - Togetterまとめ SQLインジェクション対策としてのプリペアドステートメントとエスケープについての議論 - Togetterまとめ IPAの「安全なSQLの呼び出し方」が安全になっていた | yohgak

    PHPとセキュリティの解説書12種類を読んでSQLエスケープの解説状況を調べてみた
    namikawamisaki
    namikawamisaki 2013/12/19
    PHP入門~パーフェクト系までを読んでのレビュー
  • XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス

    メールアドレスの「ルール」に関する話題が盛り上がっていますね。 「メールアドレスのルール」系まとめがそろって間違ってるのでご注意を 「メールアドレスのルール」なんて使ってはいけない3つの理由 これらのエントリに異論があるわけでありません。メールアドレスに関するルールというとRFC5322などがあるものの、現実の運用では簡易的な仕様を用いている場合が大半である…という事情は、私も以前ブログに書きました。、 稿では、「空前のメールアドレスのルールブーム(?)」に便乗する形で、RFC5322に準拠したメールアドレスで、XSSやSQLインジェクションの攻撃ができることを紹介します。と言っても、SQLインジェクションについては、過去に書きましたので、稿では、RFC5322バリッドなメールアドレスでSQLインジェクションとXSSの両方ができるメールアドレスを紹介します。 まず、攻撃対象として、以下

    XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス
  • ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策

    既に報道されているように、ロリポップ!レンタルサーバーに対する改ざん攻撃により、被害を受けたユーザー数は8428件にのぼるということです。ここまで影響が大きくなった原因は、報道によると、(1)「WordPressのプラグインやテーマの脆弱性を利用」し、不正なファイルがアップロードされた、(2)パーミッション設定の不備を悪用されて被害が拡大した、ということのようです。 29日夜の時点では、攻撃者の改ざん手法について「WordPressのプラグインやテーマの脆弱性を利用」し、不正なファイルがアップロードされて「wp-config.phpの」の設定情報が抜き出されたと説明していたが、30日午後7時過ぎの説明で、この脆弱性が侵入経路となって同社のパーミッション設定の不備を悪用されたことが原因だったことを明らかにした。 「ロリポップ」のWordPressサイト改ざん被害、原因はパーミッション設定不備

    ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策
    namikawamisaki
    namikawamisaki 2013/09/02
    もういっかいchmodとかchgrpとか読み直しておかないとなあ
  • パスワードの定期的変更について徳丸さんに聞いてみた(1)

    高橋: こんにちは、高橋です。今日は徳丸さんをお招きして、パスワードの定期的変更問題についてお話を伺います。徳丸さん、よろしくお願いします。 徳丸: 徳丸です。よろしくお願いします。 高橋: まず、お伺いしたいことですが、パスワードを定期的に変更すべしという根拠には、どのようなものがあるのでしょうか? 徳丸: 大きく分けて2つの理由が挙げられていると思います。一つは、パスワードを定期的に変更すると、パスワードを破って侵入する攻撃の予防になるというもの、すなわち事前の予防策です。もう一つは、パスワードが漏洩した際に、被害を軽減できるというもので、事後の緩和策ということですね。 高橋: もう少し詳しくお願いします。 徳丸: まず、「事前」の方ですが、オンライン攻撃とオフライン攻撃があります。 高橋: オンライン攻撃とはどのようなものでしょうか? 徳丸: オンライン攻撃は、ネット経由でパスワード

  • SQLインジェクションゴルフ - なんと3文字で認証回避が可能に

    昨日のエントリ「SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?」にて、認証回避の攻撃文字列が5文字にできる(「'OR'1」)ことを示しましたが、@masa141421356さんと、やまざきさん(お二人とも拙著のレビュアーです)から、idとpwdにまたがった攻撃例を示していただきました。やまざきさんの例は、MySQL限定ながら、なんと3文字です。これはすごい。 @masa141421356さんの攻撃例 @masa141421356さんのツイートを引用します。 @ockeghem 大抵のDBでid=''OR' AND pwd='>' ' が通ると思います(id側に「'OR」, pwd側に「>' 」で6文字)。長さ0の文字列がNULL扱いされないDBなら最後のスペースを消して5文字です。 — masa141421356 (@masa141421356) June

  • ヤフー株式会社様に「秘密の質問と回答」に関して要望します

    拝啓、貴社ますますご清栄のこととお慶び申し上げます。日頃は格別のご高配を賜り、あつくお礼申し上げます。さて、さっそくですが、表題の件についてお願いがあり、ご連絡差し上げました。 私は東京都品川区在住の貴社サービスの一ユーザーです。Yahoo! IDの登録が2001年3月、Yahoo!プレミアムは2003年 2月からですので、十年来のユーザーと言うことになり、現在はヤフオクやYahoo! Boxを利用しております。どうぞ、お見知りおきのほど、よろしくお願いいたします。 さて、ご連絡差し上げたのは、表題に述べたように「秘密の質問と回答」に関する要望です。と言いますのは、報道などで「秘密の質問と回答」が漏洩したことを知ったからです。 ヤフーは23日、今月16日に不正アクセスで流出した「ヤフージャパン」のID2200万件のうち、約149万件についてはパスワードと、パスワード変更のために使う「秘密の

    namikawamisaki
    namikawamisaki 2013/05/24
    秘密の質問にまともな答えを書かなくなったのはいつからか……/とくまるさんはヤフオクユーザーなのかしら
  • パスワードリマインダが駄目な理由

    昨日、某著名サイトのパスワードリマインダの方式が変更になっていることに気がつきました。 旧: 現在のパスワードをメールで送信する(パスワードリマインダ) 新: パスワード再設定の画面のURLをメールで送信する(パスワードリセット) 新しい方式(パスワードリセット)の方が優れていますが、それでは何故パスワードリマインダは駄目で、パスワードリセットの方がよいのでしょうか。このエントリではその理由について説明します。 パスワードリマインダのリスク 良く指摘されるように、パスワードリマインダの場合、2つの問題があります。 現在のパスワードをメール送信できるということは、パスワードをハッシュ値で保存していない証拠である メールは平文通信なので、パスワードを書いたメールが盗聴されると被害が甚大になる これらのうち、パスワードの保存方法については別稿にゆずるとして、このエントリでは盗聴のリスクについて検

    namikawamisaki
    namikawamisaki 2013/05/10
    サービスの重要度によってリマインダとリセット形式を使い分けてくれたらいいかなーとか。某公開MLのパスワードは平文リマインダです。
  • 1