タグ

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

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

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

    b-wind
    b-wind 2023/12/13
    (2021年に秘密の質問と回答は廃止されました)
  • DNSリバインディング(DNS Rebinding)対策総まとめ

    サマリ DNSリバインディングが最近注目されている。Google Chromeは最近になってローカルネットワークへのアクセス制限機能を追加しており、その目的の一つがDNSリバインディング対策になっている。Googleが提供するWiFiルータGoogle Nest WiFiはデフォルトでDNSリバインディング対策機能が有効になっている。 DNSリバインディング対策は、攻撃対象アプリケーションで行うべきものであるが、ブラウザ、PROXYサーバー、リゾルバ等でも保護機能が組み込まれている。稿ではそれら対策機能の状況と対策の考え方について説明する。 DNSリバインディング(DNS Rebinding)とは DNSリバインディングはDNS問い合わせの時間差を利用した攻撃です。DNSのTTL(キャッシュ有効期間)を極めて短くした上で、1回目と2回目の問い合わせ結果を変えることにより、IPアドレスのチ

    DNSリバインディング(DNS Rebinding)対策総まとめ
    b-wind
    b-wind 2022/05/16
  • WordPressの侵入対策は脆弱性管理とパスワード管理を中心に考えよう

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

    b-wind
    b-wind 2019/08/26
  • PHPサーバーサイドプログラミングパーフェクトマスターのCSRF対策に脆弱性

    サマリ PHPサーバーサイドプログラミングパーフェクトマスターには、PHP入門書としては珍しくクロスサイト・リクエストフォージェリ(CSRF)対策についての説明があるが、その方法には問題がある。アルゴリズムとして問題があることに加えて、実装上の問題があり、そのままコピペして用いると脆弱性となる。 はじめに 古庄親方の以下のツイートを見て驚きました。 CSRF用のトークンの作成 $token = password_hash(mt_rand(), PASSWORD_DEFAULT); ってのを書籍で見た………もンのすンげぇなぁ(苦笑 書籍名でググって調べる……評判が悪いので、まぁ、納得っちゃぁ納得。 — がる (@gallu) July 17, 2019 CSRFトークンの生成に、password_hash関数を使うですと? 親方に書籍名を教えていただき、購入したのが、この記事で紹介する「PH

    b-wind
    b-wind 2019/07/30
    “トークン生成には単にCSPRNGを使うと覚えておきましょう”
  • 2019年1月から5月に公表されたウェブサイトからのクレジットカード情報漏えい事件まとめ

    株式会社ヤマダ電機の運営するECサイトから、最大37,832件のクレジットカード情報が漏洩したと昨日発表されました。ヤマダ電機のように日を代表する家電量販店のサイトからクレジットカード情報が漏洩したことに私自身驚きました。 弊社が運営する「ヤマダウエブコム・ヤマダモール」への不正アクセスによる個人情報流出に関するお詫びとお知らせ 漏洩した情報は以下のように発表されています。 クレジットカード番号 有効期限 セキュリティコード はてなブックマークやtwitterのコメントを見ていると、「セキュリティコードを保存していたのか」という意見が見えますが、おそらくセキュリティコードは保存されていなかったと推測します。 稿では、この件を含め、年の現時点までのウェブサイトからのクレジットカード情報漏えい事件についてまとめました。 事件の一覧 下表に年(2019年)の現時点までに公表されたウェブサ

    2019年1月から5月に公表されたウェブサイトからのクレジットカード情報漏えい事件まとめ
    b-wind
    b-wind 2019/05/30
  • 鈴木常彦先生の「共用レンタルサーバにおけるメールの窃盗」の話を聴講した

    4月23日(火)に開催された 「#ssmjp 2019/04 ~DNSの話を聞く会~」に「Outputなら任せてください枠」で参加しましたので、講演内容からとくにやばい(?)内容と思われる@tss_ontap(鈴木常彦=浸透言うな先生)の「黒塗りの DNS (萎縮編)」から、「共用レンタルサーバにおけるメールの窃盗」について紹介します。スライドは公開されています。 サマリ レンタルサーバーからメールを送信する場合、悪意の第三者に、特定のドメインに対するメールを横取りされるリスクがある 攻撃手法 攻撃者は、レンタルサーバーを契約(お試しなどでも可能)して、攻撃対象のドメイン名(ここではchukyo-u.ac.jp…中京大学のドメイン名を用いる)を登録する その際に、当該ドメイン名の権利を有している必要はない(権利があれば正当にメールを受信できるので攻撃の必要がない) これだけ なぜメールが横

    b-wind
    b-wind 2019/04/29
  • WordPressのプラグインVisual CSS Style Editorに権限昇格の脆弱性 | 徳丸浩の日記

    最近WordPressのプラグインのアップデート状況を監視しているのですが、Visual CSS Style Editor(別名Yellow pencil visual theme customizer)が公開停止になり、しばらくたって公開が再開されていました。これは、掲題のように権限昇格の脆弱性があったので公開停止になり、修正版が出たことにより公開再開したものです。WordPressのプラグインではよく見る光景です。 注: 公開停止になったまま再開しないプラグインも珍しくありません。最近では、types、google-maps-builder、simple-share-buttons-adder、yuzo-related-post等の人気プラグインが公開停止になりましたが、稿執筆時点で再開していません。 脆弱性の概要 脆弱性のあるバージョン: 7.1.9以前 脆弱性の種類: 権限昇格

    WordPressのプラグインVisual CSS Style Editorに権限昇格の脆弱性 | 徳丸浩の日記
    b-wind
    b-wind 2019/04/17
  • bcryptの72文字制限をSHA-512ハッシュで回避する方式の注意点

    宅ふぁいる便から平文パスワードが漏洩した件を受けて、あらためてパスワードの安全な保存方法が関心を集めています。現在のパスワード保存のベストプラクティスは、パスワード保存に特化したハッシュ関数(ソルトやストレッチングも用いる)であるbcryptやArgon2などを用いることです。PHPの場合は、PHP5.5以降で使用できるpassword_hash関数が非常に便利ですし、他の言語やアプリケーションフレームワークでも、それぞれ用意されているパスワード保護の機能を使うことはパスワード保護の第一選択肢となります。 なかでもbcryptは、PHPのpassword_hash関数のデフォルトアルゴリズムである他、他の言語でも安全なハッシュ保存機能として広く利用されていますが、パスワードが最大72文字で切り詰められるという実装上の特性があり、その点が気になる人もいるようです(この制限はDoS脆弱性回避が

    bcryptの72文字制限をSHA-512ハッシュで回避する方式の注意点
    b-wind
    b-wind 2019/02/25
  • クレジットカード情報盗み出しの手口をまとめた | 徳丸浩の日記

    はじめに 先日の日記「ECサイトからクレジットカード情報を盗み出す新たな手口」は多くの方に読んでいただき、ありがとうございました。この記事では、「新たな手口」ではなく、従来からある手口についてまとめてみました。 1.SQLインジェクション 古典的な手法としてはSQLインジェクションがあります。下図のように、SQLインジェクション攻撃により、DBに保存されたクレジットカード情報を盗み出します。 攻撃が成立する条件は下記のとおりです。 DBクレジットカード情報が保存されている ウェブサイトにSQLインジェクション脆弱性がある いずれも、現在の観点では論外の状況と言えますのでさすがに頻度は減っています。今年6月1日から施行されたカード情報非保持化により、今後はほとんど見られなくなると予想されます。過去の代表的な事例には以下があります。 エクスコムグローバル、SQLインジェクションで約11万件の

    クレジットカード情報盗み出しの手口をまとめた | 徳丸浩の日記
    b-wind
    b-wind 2018/10/18
  • WordPressのプラグインDuplicator 1.2.40以前にリモートコード実行の脆弱性 | 徳丸浩の日記

    エグゼクティブサマリ WordPressの人気プラグイン Duplicator(1.2.40以前) にリモートから任意コード実行可能な脆弱性が発見された。Duplicator はWordPressサイトを複製することのできるプラグインであり、Duplicatorにより複製したサイト(複製先)が影響を受ける。このため、プラグインのアップデートだけでは対策にならない。詳細は対策の項を参照されたし。 概要 WordPressのプラグイン Duplicator はWordPressサイトを手軽に複製できるプラグインであり、サイトの移行や複製に広く用いられています。Duplicatorは複製元にプラグインとして導入して、移行用の二種類のファイルを生成します。 Duplicator → installer.php インストーラー 2018-xxxxxxxxxxxxxx.zip アーカイブファイル これ

    WordPressのプラグインDuplicator 1.2.40以前にリモートコード実行の脆弱性 | 徳丸浩の日記
    b-wind
    b-wind 2018/09/10
    脆弱なバージョンの Duplicator が作成した installer.php/installer-backup.php を削除しないと解決にならない
  • 安全なWebアプリケーションの作り方改訂のお知らせ

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

    b-wind
    b-wind 2018/03/06
  • IEのクッキーモンスターバグはWindows 10で解消されていた

    エグゼクティブサマリ IEのクッキーモンスターバグはWindows 10では解消されているが、Windows 7とWindows 8.1では解消されていない。このため、地域型JPドメイン名と都道府県型JPドメイン名上のサイトは、クッキーが外部から書き換えられるリスクが現実的に存在しするので、セキュリティ対策上もクッキー書き換えのリスクを考慮しておく必要がある。 クッキーが外部から変更された際のリスク ウェブサイトの利用者が第三者によりクッキーの値を変更されると、以下のような攻撃が可能になります。 セッションIDの固定化攻撃(脆弱性がある場合) クッキーを攻撃経路とするクロスサイトスクリプティング攻撃(脆弱性がある場合) 一部のCSRF対策の回避 「一部のCSRF対策」と書いたのは、OWASPの資料ではDouble Submit Cookieと呼ばれるもので、乱数値をクッキーとリクエストパラ

    b-wind
    b-wind 2017/11/30
    “地域型JPドメイン名と都道府県型JPドメイン名上のサイトは、クッキーが外部から書き換えられるリスクが現実的に存在する”
  • HTTPSを使ってもCookieの改変は防げないことを実験で試してみた

    寺田さんのブログエントリ「他人のCookieを操作する」には、通信路上の攻撃者がいる場合は、SSLを使っても、Cookieの盗聴を防ぐことはできるが、Cookieの改変を防ぐことはできないと指摘されています。いかにも寺田さんらしい簡にして要を得たエントリで、これに付け加えることはあまりないのですが、残念ながらまだ読んでいない人が多そうだと言うことと、より広い読者に向けて具体的に説明した方がよいだろうと考えました。 そこで、通信路上に攻撃者がいる典型例として、公衆無線LANの偽AP(アクセスポイント)があるケースを題材として、「HTTPSを使ってもCookieの改変は防げない」ことを説明します(Secure属性使うと盗聴は防げますが、改変は防げません)。長いエントリなので結論を先に書いておきます。 Secure属性がないCookieはHTTPSでも盗聴できる Cookieの改変についてはSe

    HTTPSを使ってもCookieの改変は防げないことを実験で試してみた
    b-wind
    b-wind 2017/10/18
  • GodaddyのSSL証明書にドメイン認証の脆弱性があり8850件の証明書が失効された

    エグゼクティブサマリ GoDaddy社の発行するドメイン認証SSL証明書に認証不備の脆弱性があり、予防的な処置として8850件の発行済証明書が失効された。これは同期間に発行された証明書の2%未満である。現在は脆弱性は解消されている。 概要 GoDaddy社は米国のホスティング(レンタルサーバー)やレジストラの大手で、認証局(CA)の事業も手がけています。 GoDaddyが発行するドメイン認証証明書の認証手続きに不備があったとして報告されています。 In a typical process, when a certificate authority, like GoDaddy, validates a domain name for an SSL certificate, they provide a random code to the customer and ask them to p

    GodaddyのSSL証明書にドメイン認証の脆弱性があり8850件の証明書が失効された
    b-wind
    b-wind 2017/01/12
  • Joomla! 3.4まではUTF-8の4バイト文字を悪用して重複するログイン名が登録できた

    以前の記事CMS四天王のバリデーション状況を調査したところ意外な結果になったで報告したように、Joomla!はログイン名の制限が非常にゆるやかになっています。であれば、🍣とか、💩などを含むログイン名が登録できるのだろうかという疑問が生じました。 とはいえ、以前、Joomla!の「ゼロデイコード実行脆弱性」はPHPの既知の脆弱性が原因で報告したように、少なくともJoomla! 3.4.5までは、MySQLの設定上 UTF-8 の4バイト文字は登録できず、それ以降の文字が全て切り詰められるという問題がありました。 このため、「admin🍣」というログイン名を登録しようとすると、🍣の切り詰めが起こって、adminユーザを二重に登録できなるのではないでしょうか? 試してみる Joomla! 3.4.8の環境を用意して管理者ユーザーを「admin」としておきます。下記のように、default

    Joomla! 3.4まではUTF-8の4バイト文字を悪用して重複するログイン名が登録できた
    b-wind
    b-wind 2017/01/03
    恐怖!MySQLの怪! “🍣はMySQLのutf8文字エンコーディングの列ではインサートできない(UTF-8の4バイト文字を許していないため)ので、🍣以降を切り詰めるというMySQLの恐ろしい仕様があります。”
  • PHPMailerの脆弱性CVE-2016-10033について解析した

    エグゼクティブサマリ PHPMailerにリモートスクリプト実行の脆弱性CVE-2016-10033が公表された。攻撃が成功した場合、ウェブシェルが設置され、ウェブサーバーが乗っ取られる等非常に危険であるが、攻撃成功には下記の条件が必要であることがわかった PHPMailer 5.2.17以前を使っている Senderプロパティ(エンベロープFrom)を外部から設定できる 現在出回っているPoCはMTAとしてsendmailを想定しており、postfixを使っている環境では問題ない 対策版として公開されている PHPMailer 5.2.19も不完全であるので、回避策の導入を推奨する。 はじめに 12月24日にPHPMalerの脆弱性CVE-2016-10033が公表され、とんだクリスマスプレゼントだと話題になっています。 PHPからのメール送信に広く使われているライブラリの「PHPMai

    b-wind
    b-wind 2016/12/28
    “対策版として公開されている PHPMailer 5.2.19も不完全であるので、回避策の導入を推奨する。”
  • PHPのmb_ereg関数群は不正な文字エンコーディングをチェックしない

    PHPのbasename関数には、マルチバイトに対応していないという誤解(実際にはロケールの設定をすればマルチバイトでも使える)があったり、不正な文字エンコーディングをチェックしないという課題があったりで、イマイチだなーと思っている方も多いと思います。 そういう方々が、preg_replace(u修飾子つき)やmb_ereg_replaceを用いて代替関数を作成している解説も見かけますが、それではこれら正規表現関数は不正な文字エンコーディングをチェックしているのだろうかという疑問が生じます。 ざっと調べたところ、以下の様な状況のようです。 preg_replace : 不正な文字エンコーディングをチェックしている mb_ereg_replcae : 不正な文字エンコーディングをチェックしていない ここでは、mb_ereg_replaceが不正な文字エンコーディングをチェックしない状況と、そ

    PHPのmb_ereg関数群は不正な文字エンコーディングをチェックしない
    b-wind
    b-wind 2016/07/20
  • ビックカメラ.COMでメールアドレスを間違えて登録したらどこまで悪用されるか検討した

    すでに報道のように、ビックカメラの通販サイト「ビックカメラ.com」において、会員IDをメールアドレスにするという改修がなされました。従来は会員がIDを自由につけられる仕様でした。さっそく会員登録してみたところ、会員IDのメールアドレスの入力間違いに際して、安全性の配慮に掛ける仕様だと感じたのでビックカメラのサポートに報告したところ、以下のように「セキュリティ上の問題とは認識していない」との回答でした。このため、ここに問題点と対策を公開して、利用者に注意喚起いたします。 平素はビックカメラ.comをご利用いただき、誠にありがとうございます。 サポートセンター担当のXXXXと申します。 この程はお問い合わせいただきありがとうございます。 貴重なご意見を賜りまして、誠にありがとうございます。 今回サイトのリニューアルに関して、基的に現状ではセキュリティ上の問題があるとの認識はございません。

    ビックカメラ.COMでメールアドレスを間違えて登録したらどこまで悪用されるか検討した
    b-wind
    b-wind 2015/06/25
  • Column SQL Truncation脆弱性にご用心

    前回のブログ記事「CMS四天王のバリデーション状況を調査したところ意外な結果になった」にて、JoomlaとMovableTypeは長大なログイン名を登録することにより、ログイン名の重複が起こり得ることを指摘したところ、facebookの私のウォールにて、Column SQL Truncation脆弱性の話題になりました。Column SQL Truncationは、2008年にWordPressの脆弱性として報告されたことがあります(参照、参照)。 稿では、簡単なログイン機能のSQL呼び出し例を用いてColumn SQL Truncationを説明したいと思います。 認証用テーブル定義の説明 認証に用いる会員テーブルを下記とします。ご覧のように、ログイン名を示す列 username には一意制約がありません。(追記)一意制約はふつうあるだろと思われるでしょうが、CMS四天王の中で一意制約

    b-wind
    b-wind 2015/06/11
  • Time-based SQL Injectionは意外に実用的だった

    このエントリでは、Time-based SQLインジェクション、すなわち時間差を利用したSQLインジェクションが意外に実用的だったという報告をします。デモ映像ありです。 はじめに Time-based SQL Injectionという攻撃があります。これはブラインドSQLインジェクションの一種で、ある条件の場合に一定時間(例えば5秒)スリープし、そうでない時との応答時間の差で情報を盗もうというものです。1回のHTTPリクエストで1ビットの情報が得られるので、それを積み重ねることによって、いくらでも情報を盗めるはずです…理論的には。 しかし、「理屈はそうでも、時間が掛かりすぎるよね」ということで、深くは追っかけていませんでした。SQLインジェクションの検査には有効でも、悪用としての実用性はあまりないと考えていたのです。 きっかけ きっかけは、以下のYahoo!知恵袋に以下の質問です。 SQL

    Time-based SQL Injectionは意外に実用的だった
    b-wind
    b-wind 2015/04/16