タグ

ブックマーク / tumblr.tokumaru.org (17)

  • ハッカージャパン9月号に寄稿しました

    8月は偶数月。 そして偶数月といえば、こちら。 Hacker Japan (ハッカー ジャパン) 2013年 09月号 [雑誌] 私も連載第2回として「クロスサイト・スクリプティング再入門」という記事を書きました。内容の紹介に代えて、見出しを列挙することをお許しいただきたい。 典型的なXSSのデモに対する素朴な疑問JavaScriptを動かされることがどうしてまずいの?利用者が信頼するサイトと信頼しないサイト「タブブラウザーは安全なのか」問題同一生成元ポリシーブラウザーの保護機能のまとめXSSとはXSSがあると、「悪意のあるサイト」と同じになるXSS脆弱性が発生する原因XSS脆弱性の対策Content-Typeヘッダに文字エンコーディングを指定するURLを出力する属性値はスキームを確認するHTMLタグの入力を許可する場合の対策まとめ実はちょっと書き過ぎてしまい、XSSに関しては2回に分けて

    ハッカージャパン9月号に寄稿しました
  • もう入力値検証はセキュリティ対策として *あてにしない* ようにしよう

    スタックオーバーフロー対策をする場合、関数の入口でチェックすれば大抵対策可能なんだけど、それだと対策漏れの可能性があるから、例えば、strcpyの代わりにstrncpyあるいはもっと高機能な文字列関数を使うことが当然になってきました。 これは、入口でのチェックだと漏れやすいから、脆弱性が発生するその箇所で対策するという考え方にシフトしているのだと私は考えます。 Webアプリケーションの場合も同様で、XSSやSQLインジェクションの対策は、脆弱性の発生する箇所、すなわち、HTMLの生成とか、SQLの呼び出しの時点で行います。いや、これらは「セキュリティ対策」ではなく、全ての文字を扱うために必要なエスケープ処理に過ぎないので、例がよくないですね。例えば、パストラバーサル脆弱性対処のためのファイル名の確認は、ファイルをオープンする直前(ファイル名を使う直前)に行うべきだ、という考え方です。 スタ

    もう入力値検証はセキュリティ対策として *あてにしない* ようにしよう
  • ハッカージャパンに連載開始しました

    ハッカージャパンの7月号から、2013年 07月号から、「基礎から学ぶWebアプリケーションの脆弱性入門」という連載を開始しましたので報告します。6月11日発売ということですで、入手可能だと思います。 ハッカージャパン誌から連載の打診をいただいた時、ハッカージャパン誌の性格上マニアックな内容を期待されているのかと思ったのですが、入門的な内容をと言うことでしたので、前述のようなタイトルとなっています。 単にSQLインジェクションとは…、XSSとは…では新味がないので、読者が漠然と感じているであろう素朴な疑問にできるだけ答えるようにしたいと考えています。以下は、見出しの一部です(全部ではありません)。 脆弱性とは何だろう?グレーゾーンの脆弱性入力か、出力か、それが問題だサニタイズとWebアプリケーションセキュリティの黒歴史前述のように、あくまで入門的な内容ではあるのですが、「私は今ハッカージャ

    ハッカージャパンに連載開始しました
  • Paypalはパスワードリセットの秘密情報としてカード番号を使うこともできるがフィッシングのリスクもあるので…

    お客さまの情報は安全です お客さまの安全のため、PayPal は、お客さまの銀行口座番号や、クレジットカード番号を全桁再入力していただく場合は必ず、事前にその番号の少なくとも「下2桁」を提示します。この数字によってお客さまは、PayPalがお客さまの番号全桁をすでに知っており、残りの数字の再入力をお願いしていることがわかります。カード番号の少なくとも下2桁を表示することによってお客さまの番号を知っていることを証明せずに、確認と称して番号を聞いてくるウェブサイトやメールには十分ご注意ください。 paypalのパスワードリセット手順のヘルプより なるほどねぇ

    Paypalはパスワードリセットの秘密情報としてカード番号を使うこともできるがフィッシングのリスクもあるので…
  • 社畜論に学ぶ「プロブロガー」の文章術

    それでは、なぜ読んで不快になるかですが、以下のように「図星だから怒るのでしょう」という意見もあります。 おもしろい。社畜の人はあたってるから怒るんでしょうね。w / 社畜と家畜の共通点 ikedahayato.com/index.php/arch… @ihayatoさんから しかし、そうとは限らないと思います。このエントリが不快になる理由は、文章が曖昧だからです。 元エントリは以下のように始まっています。 巷でよく言う「社畜」って何なんでしょうね?と思ったので、家畜との共通点を洗い出してみましたよ。 飼われている家畜は牧場主に飼われています。【後略】 社畜と家畜の共通点を列挙する形で始まっているのですが、この文章には以下の二通りの解釈が可能です。 日のサラリーマン、すなわち社畜は、家畜と共通する以下の性質があるサラリーマンのうち、家畜と共通する以下の性質を持つものを社畜と言う1. と受け

    社畜論に学ぶ「プロブロガー」の文章術
  • Evernoteのテキストを暗号化する方法

    日早朝に、Evernoteが外部からの攻撃を受けて、ユーザ名、メールアドレス、パスワードハッシュ値(ソルト付きハッシュ)にアクセスされたという報告(セキュリティ関連のお知らせ:Evernoteでのパスワード再設定のお願い)がありました。 Evernoteのユーザは、このお知らせの指示にしたがい、パスワードをリセットしましょう。問題は、Evernoteのコンテンツ(ノート)にアクセスされたかどうかですが、Evernote社では、以下のように、ノートにはアクセスされた形跡はないと主張しています。 弊社セキュリティ調査の結果、Evernote に保存されているコンテンツが外部からアクセス・変更・消失された形跡は確認されませんでした。また、Evernote プレミアムおよび Evernote Business のお客様の決済情報がアクセスされた形跡も確認されていませんのでご安心ください。 一応こ

    Evernoteのテキストを暗号化する方法
  • 勝手に査読:Webアプリにおける11の脆弱性の常識と対策

    「Webアプリにおける11の脆弱性の常識と対策」という記事を久しぶりに読みました。出た当事も思いましたが、基的な誤りが多く、読者が誤解しそうです。このため、編集部から頼まれたわけではありませんが、「勝手に査読」してみようと思います。 細かい点に突っ込んでいくとキリがないので、大きな問題のみ指摘したいと思います。 ※2013年2月25日追記 このエントリに対して、編集部が元記事を修正くださいました。徳丸も修正に協力いたしましたが、十分正確な内容ではないことをお含みおきください。 ※追記終わり 同記事の想定読者は誰か査読にあたり、この記事の想定読者を明確にしておいた方がよいですね。記事の冒頭には、連載の説明があります。 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用する

    勝手に査読:Webアプリにおける11の脆弱性の常識と対策
  • CookieにログインIDを保存してはいけない

    phpproのQ&A掲示板で下記の質問を読みました。 ログインの際に、クッキーにログイン情報を保存し、ログアウトの際には、フォームタグの中でPOSTでログアウトの為の値を飛ばし、値を受け取ったらクッキーの有効期限をマイナスにしてクッキー情報を消すというログアウト処理を作っています。 同一ページでのCookieでのログアウト処理より引用 クッキーにそのままログイン情報を保持するのはよくありませんね。質問を更に読むと、以下のソースがあります。 setcookie("logid",$row["f_customer_logid"],time()+60*60*24); setcookie("point",$row["f_customer_point"],time()+60*60*24);どうも、SQL呼び出しの結果からログインIDを取り出し、それをそのままCookieにセットすることで、ログイン状態

    CookieにログインIDを保存してはいけない
  • Webアプリの脆弱性を検出するツールはありますか?

    MSDNフォーラムで表記の質問を見かけました。同フォーラムの活動実績がないせいか、回答にリンクを貼ると拒否されましたので、こちらに回答します。 ここからが質問なのですが、プログラムの実装が完了したあと、脆弱性が潜んでいないかをチェックする必要があるのですが、脆弱性を検出するツールなどがありましたら教えてください。できれば、無償で使える物で、環境にあまり依存しないもの(Windows Serverのバージョンや、DBMSの種類に依存しないもの)がよいです。 Webアプリの脆弱性を検出するツールはありますか? 以下、回答です。 ご要望の条件をすべて満たすツールは、おそらくないと思います。 少し古いエントリになりますが、以下のブログにWebアプリケーションの脆弱性を調べるツールがまとめられています。 サーバ/Webアプリケーション脆弱性チェックツールの個人的まとめ(フリー/有償) 良い物は高価、

    Webアプリの脆弱性を検出するツールはありますか?
  • 書式文字列によるSQLインジェクション攻撃例

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

    書式文字列によるSQLインジェクション攻撃例
  • 日経Linux2013年1月号に「“誤認逮捕”から利用者を守るWebサイト構築法」という記事を書きました

    前に、「なりすまし犯行予告に悪用可能なWebアプリケーション脆弱性」というエントリで、なりすまし犯行予告に開くよう可能なWebアプリケーションへの攻撃手法として以下の5種類を挙げましたが、このテーマに関して、日経Linux2013年1月号に「“誤認逮捕”から利用者を守るWebサイト構築法」という記事を書きました。 CSRFXSSHTTPヘッダインジェクションクリックジャッキングDNSリバインディング今回の寄稿では、上記の原理と対策について書いています。紙の雑誌となりますが、よろしければお読み頂ければと思います。 また、この記事のコラムとしてTorの解説があります。編集部からは当初、徳丸自身が書くか、誰か適当な方を紹介して欲しいという要求でしたが、迷うことなく北河拓士さん(@kitagawa_takuji)に寄稿を打診したところ、快諾をいただきました。このコラム「暗号化の“皮”を重ねて匿名性

    日経Linux2013年1月号に「“誤認逮捕”から利用者を守るWebサイト構築法」という記事を書きました
    wasai
    wasai 2012/12/09
    明日、事務所で読んでおきますか
  • PHP5.3.2以降ではfcloseで自動的にアンロックされない

    PHP家サイトでflockの説明を読んでいたら、以下の変更履歴に気がつきました。 5.3.2 ファイルのリソースハンドルを閉じたときにロックを自動的に解放する機能が削除されました。 ロックの解放は、常に手動で行わなければなりません。 http://php.net/manual/ja/function.flock.php ところがネットの解説を見ると、ロック開放はflock($fp, LOCK_UN); ではなく、fcloseでやれとしている解説が結構あります。 (4)fcloseの前にflock解除するな … fcloseの前にflock(ファイルポインタ, LOCK_UN) する人は実に多いのですが、これははっきりと間違いだと断言します @ITPHPの記事が突っ込みどころ満載 - 暴言満載 LOCK_UNは普通は使われない。ロック開放はfclose()関数でやるのが鉄則。 http

    PHP5.3.2以降ではfcloseで自動的にアンロックされない
  • 祝:名著「金床本」のKindle対応

    紙のについて、かつてこう書きました。 を手にとって最初に思うことは、その大部さである。いまどき、箱入り、ハードカバーで494ページもあり、ずしりとした手ごたえを感じる。日常のリファレンスや満員電車のお供にするのであれば、もっと軽薄短小であって欲しいと思うところだが、書の場合そうではない。その理由は後述する。 【中略】 繰り返すが、書は初心者向けの解説では決してなく、上級者が自身の楽しみに読むのが正しいと思う。であれば、箱入りであるとかハードカバーであることは決してデメリットではない。楽しい読み物として末永く楽しむべきには、それにふさわしい体裁があるというものである。 書評 - ウェブアプリケーションセキュリティより こう書いたものの、やはり手元で「あれ、これはどうだっけ」と調べるには、電子書籍だと便利ですね。それに、紙のが4,830円であるのに対して、Kindle版は2,800

    祝:名著「金床本」のKindle対応
  • Gmailの成りすまし事件、傾向と対策

    池田信夫氏のGmailアカウントがハックされて、寸借詐欺メールが送信されたようです。 Gmailの振り込め詐欺にご注意池田信夫、自らのメールアカウントを乗っ取られ今日も見事な醜態を晒す私の周囲でも、知人が同種の被害にあっていますので、他人事ではない気がします。池田氏が被害にあった原因は不明のようですが、このエントリではその原因を予想(妄想)し、対策について検討します。 池田氏の主張:twitter連携アプリからの漏洩池田氏は自らのブログエントリで以下のように主張しています。 Gmailのパスワードを知らせたことはないのですが、ツイッターと共通にしていたため、「連携アプリ」を認証するときパスワードを入力します。これはシステム側に通知されないことになっていますが、悪意をもって偽装することは容易です。かなりあやしげなアプリも含めて20ぐらい使っていたので、そこから推測してGmailにログインされ

    Gmailの成りすまし事件、傾向と対策
    wasai
    wasai 2012/10/04
    わかっているつもりだけど、気をつけてはおかないといかんな
  • hostsファイルにループバックアドレスを指定することは危険か?

    Androidの広告よけにhostsファイルを書き換えるAdAwayというアプリ(ルート化必要)が紹介されています。それがきっかけとなり、hostsファイルを書き換えることの危険性、とくに他人が作ったhostsファイルをそのまま自端末に適用してしまうリスクがtwitterで話題になりました。 これはまったく正しいのですが、なかのきえた氏から、以下のようにlocalhostIPアドレスを記述することも問題と指摘がありました。 @shigecchi2007 @ks_desire localhost系を書くこともヤバイのです。WindowsでローカルのIISが回り込まれたりWinNTの頃から既知の問題なんです。やるならFirewall機能で適切にブロックする事が必要です。 9月 23, 2012これに対して、ko-zuさんから、ループバックやLAN内ホストでの脆弱性対策についてというブログ記事

    hostsファイルにループバックアドレスを指定することは危険か?
  • pastebinに貼られた「twitterユーザのパスワード」を軽く分析した - ockeghemのtumblr

    アノニマス匿名のハッカーがpastebinにtwitterアカウントのユーザ名とパスワード55,000以上を漏洩させたという書き込みがありました。(注:当初anonymous hackersをアノニマスハッカーと訳していましたが、ここは「匿名の」という意味ですね。訂正します) 真偽のほどはよくわかりませんが、ここに貼られていたパスワードを少し分析してみました。当然ながら、このパスワードを使ってログインしてみる、というのは違法行為ですので、絶対にやってはいけません。以下はあくまでもパスワード文字列の統計的な分析です。 まず、貼られていたアカウントの数ですが、単純に数えると、58,978個あり、約59,000というところです。ところが重複がかなりあり、ユニークなID:パスワードの組み合わせだと、34,069に減少します。さらに、「同一ユーザ名でパスワードが異なる」組み合わせが6個ありました。

    pastebinに貼られた「twitterユーザのパスワード」を軽く分析した - ockeghemのtumblr
    wasai
    wasai 2012/05/10
    短いパスワードもあるなぁ…
  • ブログとソーシャルブックマークの移行について

    はてなブックマークボタンを外しましたでご案内しましたように「当面の間、はてなのサービス(ブックマーク、日記)は少なくとも新規の更新をやめ」ておりましたが、それから一ヶ月が経過し、株式会社はてなの対応も変化がないようですので、当面ではなく恒久的に上記の更新をやめようと思います。 これまでの間、両サービスの移行先を検討しておりましたが、以下のようにしたいと思います。 ブログについてはてなダイアリーについては、ここtumblrを移行先とします。徳丸は他のブログも運用しておりますが以下のような使い分けにしたいと思います。 tumblr:小ネタ、書評、セミナーやキャンペーンの案内のうち個人的なもの徳丸浩の日記:技術的な内容のコラムHASHコンサルティングオフィシャルブログ:製品やサービスの案内、セミナー等の告知。宣伝成分多し従来のはてなダイアリーには、軽めの技術ネタも書いていましたが、ネタ成分の多い

    ブログとソーシャルブックマークの移行について
    wasai
    wasai 2012/04/13
    はてなでは更新しないということですか
  • 1