Twitchで生放送中!

Twitchで生放送中!

はなげブログ

日記

twitter落ちた記念

なかなかお目にかかれない画面なので、キャプチャしておこうと思う。



ついでにソースも
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="en-us">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Twitter / <%= reason.capitalize %></title>
    <link href="//si0.twimg.com/sticky/error_pages/favicon.ico" rel="shortcut icon" type="image/x-icon">
    <link rel="stylesheet" href="/errors/fullscreen_errors.css">
  </head>
  <body>
    <div class="topbar js-topbar">
      <div class="global-nav" data-section-term="top_nav">
        <div class="global-nav-inner">
          <div class="container">
            <ul class="nav js-global-actions">
              <li class="home">
                <a href="//twitter.com">
                  <span><i class="nav-home-logged-out"></i></span>
                </a>
              </li>
            </ul>
            <div class="pull-right">
              <ul class="nav secondary-nav">
                <li><a href="//twitter.com" id="homeLink">Back home &rarr;</a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="blue-sky">
      <div class="body-content">
        <div class="canvas">
          <img class="illustration moan-cone" src="/errors/moan_cone.png">
        </div>
        <h1>Twitter is currently down for <%= reason %>.</h1>
        <p>We expect to be back in <%= deadline %>. For more information, check out <a href="http://status.twitter.com">Twitter Status</a>. Thanks for your patience!</p>
        <div class="footer">
          <ul class="links">
            <li class="first">&copy; 2012 Twitter</li>
            <li><a href="/about">About</a></li>
            <li><a href="/help">Help</a></li>
          <li><a href="http://status.twitter.com/">Status</a></li>
          </ul>
        </div>
      </div>
    </div>


    <!-- BEGIN google analytics -->
    <script type="text/javascript">
      var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
      document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type="text/javascript">
      var pageTracker = _gat._getTracker("UA-30775-6");
      pageTracker._setDomainName("twitter.com");
      pageTracker._trackPageview('Maintenance');
    </script>
    <!-- END google analytics -->
  </body>
</html>
投稿:2012/07/27 01:30
更新:2012/07/27 01:31

コメント(3)

1 削除されました 2012-08-18 07:53:19
削除されました
2 はなげ 2012-08-19 04:07:55
>>1
テストありがとうございます!!
htmlエスケープ(htmlspecialcharsを使っています)、
SQLエスケープ(mysql_real_escape_stringでやってみました)、
ともに施していますので、
おかしなことにはなりませんでしたよね!
3 はなげ 2012-09-14 18:46:38
>>1
テストと思ったけど、宣伝か荒らしっぽかったので削除しました!
イエーイ!!
名前
コメント

IT関連

SSLを使用せずに暗号化して通信するパスワード認証ページを作る

今まで、このブログの編集ページへのログインは、一切の暗号化をせずに通信していたんだが、
ためしにパスワードを暗号化させて送ってみたくなってやってみた。

PHPとJavascriptでチャレンジ・レスポンス方式のワンタイムパスワード認証をしてみた。
暗号化はSHA256を使用。

サンプルページ
http://hanagebigwave.6.ql.bz/chaptest/admin.php

にわか知識な私が作ったので、きっと問題を抱えているだろうな。
そういった意味でソースは公開しない。
(いや、公開しておかしい点を指摘してもらうのもいいかもしれない)

具体的には下の図のような処理をしている。



とりあえず、現時点でわかっている、今回の処置をしても改善されない脆弱性を挙げていく。

1. セッションハイジャック

ログインしていることをセッションが保持することになるが、(セッションIDをセッションCookieに記録させる際に)セッションIDが平文でユーザーに送られてしまうからパケット盗聴によるセッションハイジャックが可能という点は、暗号化しないページと変わらず。

ページが読み込まれるたびにsession_regenerate_idでセッションIDを変更するようにしているが、ユーザー がページを閉じた後は(ユーザーがログアウトをしてくれない限り)セッションIDは変わらないから最後のセッションIDを盗聴されていたとしたらセッションハイジャックが可能だろう。

ログインしたときのUAをセッションに保持させて、それと一致するかチェックする手法を併用してみたが、ターゲットとなるユーザーのUAを、クラッカーが知ることができれば余裕で通過できちゃうはず。

2. パケット改竄によるhtml書き換え

さらに、パケット改竄によりログイン画面のhtmlが書き換えられた場合には、平文のパスワードを送信させることが可能になってしまう。

3. ブルートフォースアタック

チャレンジコードとレスポンスコードが両方とも盗聴された場合を考慮して、
ブルートフォースアタック(総当り攻撃)されても問題ないような複雑である程度長いパスワードを用意しなければならない。

以上の点が、パスワードを暗号化しないで送信した場合と同様、改善されない問題点である。

今回の修正で改善されるのはせいぜい、
・パケット盗聴をされてもパスワードがばれない
・ユーザーの送信内容を傍受され同一の送信内容を盗聴者がサーバに送信したとしてもログインできない
という点だけであろう。

2012/07/24 追記
入力されたパスワードを暗号化した後削除してからフォームが送信される。
したがって、ブラウザにパスワードを保存させること(オートコンプリート)ができない。
パスワードをブラウザに記憶させたい派のユーザーからすれば不便である。なんとかしたい。
(ユーザーというのは自分しかいないのだが・・・)
投稿:2012/07/23 04:50
更新:2012/07/31 20:38

コメント(0)

名前
コメント

日記

Officeとacrobatを買う

「Microsoft Office 2010 Professional アカデミック版」と
「アドビ Acrobat X Pro 学生・教職員個人版 Windows版」
を買うことにしたので、テキトーにネットショップの価格を調べてみた。
結果は以下の通り。

まずはoffice

Microsoft Office 2010 Professional アカデミック版(2012/07/06現在
表示価格 送料 ポイント 実質価格*
ヨドバシ.com \24,400 \0 \2,440 \21,960
ビックカメラ.com \24,400 \0 \2,440 \21,960
ソフマップ.com \24,400 \0 \2,440 \21,960
ECカレント \22,180 \0 \33 \22,147
amazon.co.jp \22,180 \0 \0 \22,180
ヤマダ電機WEB.COM \25,500 \0 \2,805 \22,695
e-TREND \23,100 \0 \0 \23,100
Joshin web \24,400 \0 \244 \24,156
EDION.com \25,800 \0 \0 \25,800
いーでじ \26,800 \0 \268 \26,532
ムラウチドットコム \26,980 \0 \0 \26,980
ケーズデンキ オンラインショップ \27,800 \0 \0 \27,800
コジマネット なし
カメラのキタムラネットショップ なし
*実質価格 = 表示価格 + 送料 - ポイント

ポイントを考慮した場合、ヨドバシカメラ、ビックカメラ、ソフマップが同率で1位。
ポイントを考慮しない場合、amazon、ECカレントが1位。

続いてacrobat。

アドビ Acrobat X Pro 学生・教職員個人版 Windows版(2012/07/06現在
表示価格 送料 ポイント 実質価格*
ヤマダ電機WEB.COM \18,800 \0 \2,068 \16,732
ヨドバシ.com \19,400 \0 \1,940 \17,460
ビックカメラ.com \19,400 \0 \1,940 \17,460
ソフマップ.com \19,400 \0 \1,940 \17,460
e-TREND \17,634 \0 \0 \17,634
amazon.co.jp \17,635 \0 \0 \17,635
ECカレント \18,492 \0 \9 \18,483
いーでじ \19,420 \0 \194 \19,226
Joshin web \19,500 \0 \195 \19,305
ケーズデンキ オンラインショップ \19,400 \0 \0 \19,400
EDION.com \19,530 \0 \0 \19,530
ムラウチドットコム なし
コジマネット なし
カメラのキタムラネットショップ なし
*実質価格 = 表示価格 + 送料 - ポイント

ポイントを考慮した場合、ヤマダ電機が1位。
ポイントを考慮しない場合、e-TREND、amazonがほぼ同率で1位。

日本の企業、意外と健闘してるじゃないか。

せっかくだからヨドバシ.comで買ってみる。ポイントカードのポイントと、ネットショップのポイントを統合するのが面倒くさそうだけど(店頭に行ってアクセスキーを発行してもらわないといけない)。
投稿:2012/07/06 18:49
更新:2012/07/06 19:27

コメント(0)

名前
コメント

ゲーム

悪魔城ドラキュラX月下の夜想曲のレアリングについて

コナミの名作 「悪魔城ドラキュラX 月下の夜想曲」 で気になることがあったので調べてみた。

このゲームにはモンスターを倒したときに、レアアイテムをドロップする確率を上げる効果がある「レアリング」というアクセサリーが存在する。

レアリングはゲーム中には最大2つゲットできるのだが、
1つ装備したときと2つ装備したときで、
レアアイテムドロップ率に違いがあるのか不明だったので、調べてみた。

方法は、
レアリングを1つ装備する条件(レアリング1個 条件)と、
レアリングを2つ装備する条件(レアリング2個 条件)、
それぞれでコウモリを大量虐殺してみるというもの。

とりあえず4800匹ずつ、合計9600匹倒してみた。

結果

レアアイテムのドロップ数(ドロップ率)
 レアリング1個: 86 個 ( 1.79%
 レアリング2個: 103 個 ( 2.15%

結論

レアリングは1個だけ装備するより、2個装備した方が、
モンスターはレアアイテムをよく落としてくれる!

余談と詳細

ただし、統計的検定(χ2分析)をしたところ、意味のある差とは認められなかった。おそらくサンプル数が足りてないからだとは思うけど。

以下、Rでχ2検定を行った結果
> x<-matrix(c(86,4714,103,4697), ncol=2, byrow=T)
> x
     [,1] [,2]
[1,]   86 4714
[2,]  103 4697
> chisq.test(x)

        Pearson's Chi-squared test with Yates' continuity
        correction

data:  x 
X-squared = 1.3817, df = 1, p-value = 0.2398
ちなみに、効果量Cramér's V0.012 だった。

詳細情報を話すとこんな感じ
・LCK99プレイ(ドロップ数が少なすぎるとサンプル数が大量に必要になるため)
・場所は逆さ城の空中墓地のコウモリがいっぱいいるフロア
・セガサターン版で検証
・アイテムのドロップ数(ドロップ率)の全データ(↓)
通常アイテム レアアイテム 小ハート 大ハート $2000 $1000 $400 $250 $100 $50 $25 $1 合計
1個装備 225
(4.69%)
86
(1.79%)
350
(7.29%)
51
(1.06%)
0
(0%)
0
(0%)
0
(0%)
0
(0%)
50
(1.04%)
127
(2.65%)
164
(3.42%)
56
(1.17%)
1109
(23.0%)
2個装備 323
(6.73%)
103
(2.15%)
278
(5.79%)
45
(0.94%)
0
(0%)
0
(0%)
0
(0%)
13
(0.27%)
54
(1.13%)
89
(1.85%)
141
(2.94%)
60
(1.25%)
1106
(23.1%)
ハートとドルも含めたなんらかのアイテムをドロップする確率は同じ(1106個 vs 1109個)。
レアリングを多く装備したことによる効果は、
ドロップする確率ではなく、ドロップする内容に対するもののようだ。
予想としては、ドロップする物のうち通常アイテムとレアアイテムの割合が上がるという効果。

ということは、もし(低レベル縛りなどで)LCKが極端に低い状態で狩りをするとしたら、
レアリングよりラピスラズリの方が効率がいいこともありうるかもしれない。
LCKが極端に低いと、ドロップ自体がほとんど生じないだろうから。
まあでも通常は断然レアリングの方が効率的だとは思うが。
投稿:2012/06/28 14:57
更新:2012/07/06 18:58

コメント(2)

1 削除されました 2012-08-07 14:24:07
削除されました
2 はなげ 2012-09-19 12:33:49
>>1
(記事に無関係の)広告っぽかったんで削除しました。
名前
コメント

IT関連

ブログのRSSを生成させる

このブログのRSSをPHPで生成させて、
RSSリーダーとかで扱えるブログにしてみたい。

RSSに関しては、にわか知識すら無いので、
もしかしたら挫折するかもしれない。

とりあえずXHTMLにして(今はHTML 4.01)、
ブログを更新するときにrdfファイルを1つ生成(編集)されるようにすればいいのかな?

これから作りにあたって参考になりそうなページをリストしておく。

RSSのフォーマット・仕様・構造 - RSS1.0、RSS2.0、Content-Type
http://memorva.jp/memo/api/rss.php

また無駄に ニコ生 で作業を実況するかもしれない。

2012/06/23 追記

できた。たぶん。
http://hanagebigwave.6.ql.bz/index.rdf


(Google リーダーに登録してみた様子)
投稿:2012/06/22 17:48
更新:2012/06/23 04:36

コメント(0)

名前
コメント