ページの先頭です。本文を読み飛ばして、このサイトのメニューなどを読む

サイト内の現在位置です:

TOP  >  ブログ  >  最新エントリー

スポンサード リンク

ブログ - 最新エントリー

長年の疑問が解決!

カテゴリ : 
一般
執筆 : 
kisara 2009-11-16 21:43
いや、たいしたことではないのだが。

川崎の会社の周辺でよく聞くゴミ収集車のメロディの正体が分かった。

「好きです川崎愛の街」

何故突然こんな話かというと…天体戦士サンレッドで見たから(w



これの3分くらいと11分くらい。多分、11/21まで配信なので急げ!

一応、原版らしき動画。

  • コメント (0)
  • トラックバック (0)
  • 閲覧 (441)

Google Reader

カテゴリ : 
一般
執筆 : 
kisara 2009-11-11 0:05
RSSリーダーをFirefoxのsage++からGoogle Readerへ移行しました。

何故かっつーとiPhoneのリーダーアプリで同期できるから(w

これでGmail、Google Calendar、コンタクトリスト、RSSがPCと同期で快適ですよ!

っつーかGoogle依存しすぎだな…
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (421)

突然の

カテゴリ : 
一般
執筆 : 
kisara 2009-11-3 23:17
うちの奥さんのマタニティスイミングの帰りに南千住の華の舞で昼飯にしようと注文後にちょっと席を立ったらばぐ★NAGAとばったり。

生活圏が近いとはいえこんな偶然滅多にないすね。

ちょっと近況など雑談。

久々に

カテゴリ : 
XOOPS » 外部認証モジュール
執筆 : 
kisara 2009-9-9 20:59
久々にXOOPS外部認証モジュール関係をアップデート。

半年近くも空いてしまって申し訳ない。

今回はOpenID関係のちょっと機能追加と、報告のあった不具合修正です。

XOOPSもこれからユーザ周りがいじられるっぽい話は聞くけど…
公式のユーザ関係モジュールもなかなか公開されないっすね。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (702)

衆院選ですな

カテゴリ : 
一般
執筆 : 
kisara 2009-8-25 23:20
経済オンチでゴニョゴニョな民主党だとこの先大変なことになるので、とりあえず自民しか選択肢がないのが哀しいところ。

堂々と失敗確実な政策を載せているのに、民主党が支持されているというのが怖いなぁ…日本て。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (589)

suamatchさん、メールエラーです

カテゴリ : 
一般
執筆 : 
kisara 2009-8-19 19:29
suamatchさん、登録いただきましたが、メールがエラーとなってしまっています。

もし、これを見ていたらメールでご連絡ください。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (581)

PAAPI!

カテゴリ : 
Perl
執筆 : 
kisara 2009-6-18 23:51
AmazonがWebサービスのリクエストに署名が必要との事で対応中。

Dan Kogai氏のURI::Amazon::APAを利用させていただこうとしたのだが…

いきなり不具合ががが

シングルクォートを含むキーワードで上手くいかないみたいです。

報告したもののいつ対応していただけるか分からんので、パッチで対応。時間も迫っとるので…

sub uri_escape_utf8_ex
{
    my $str = shift;
    $str = uri_escape_utf8($str);
    $str =~ s/(')/'%' . unpack('H2', $1)/eg;
    $str;
}

とりあえず、この関数を追加し、エンコードしているところを修正してなんとかなったっぽいです。

    my $sq = join '&',
      map { $_ . '=' . uri_escape_utf8_ex( $q{$_} ) } sort keys %q;

シングルクォート以外にも対応しなきゃいかん記号があるかなぁ…

追記:

と思っていたらここのサンプルの方がいいみたい。

パッチをあてるなら

    my $sq = join '&',
      map { $_ . '=' . uri_escape_utf8( $q{$_}, '^A-Za-z0-9\-_.~' ) } sort keys %q;

こうか。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (636)

廿世紀浴場解体中

カテゴリ : 
一般
執筆 : 
kisara 2009-5-30 9:41
なんとも寂しいですね…
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (736)

逆に考えるんだ

カテゴリ : 
一般
執筆 : 
kisara 2009-5-15 0:58
なぜPHPアプリにセキュリティホールが多いのか? 第25回 PHPのアキレス腱 ── セッション管理

を読んでふと思ったんで実験してみる。

まぁ、要するに…

逆に考えるんだ、session.nameが固定なのがいけない

ということで、セッション時のCookieのキー名をダイナミックにしてみるとどうだろうということ。

…とはいえ、完全にネタなので、流してしまってください(w

スクリプトの実装自体は数十分で完了。とりあえず、ウチでは動いてます。

<?php

define('SESSION_NAME_SALT', 'abaeifi');

$session_lifetime = ini_get('session.gc_maxlifetime');
$time = time();
$time_curr = $time - $time%$session_lifetime;
$time_prev = $time - $time%$session_lifetime - $session_lifetime;
$session_name_prefix = ini_get('session.name');

$session_cookie_name = $session_name_prefix.'_'.md5(SESSION_NAME_SALT.$_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT_LANGUAGE'].$time_curr);
$session_cookie_name_prev = $session_name_prefix.'_'.md5(SESSION_NAME_SALT.$_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_ACCEPT_LANGUAGE'].$time_prev);

if (isset($_COOKIE[$session_cookie_name_prev])) {
    if (!isset($_COOKIE[$session_cookie_name])) {
        $session_id = $_COOKIE[$session_cookie_name_prev];
        session_id($session_id);
    }
    setcookie($session_cookie_name_prev, "", time()-3600, ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
}
ini_set('session.name', $session_cookie_name);

session_start();

$_SESSION['cnt']++;

#debug output
echo $session_lifetime.'<br />';
echo $time.'<br />';
echo $time_curr.'<br />';
echo $time_prev.'<br />';
echo $session_name_prefix.'<br />';
echo $session_cookie_name.'<br />';
echo $session_cookie_name_prev.'<br />';
echo 'cnt:'.$_SESSION['cnt'].'<br />';
echo '<pre>';
echo htmlspecialchars(print_r($_SERVER, true));
echo '</pre>';

・session.gc_maxlifetimeごとにキー名を更新する。この間隔は適当に1日とかでも良いです。
・更新する際には前回のキーから移行を行う。これはsession_startの前にCookieを直接操作します(w
・2回のキー変更をまたいで操作しない時間があればセッションは途切れてしまう。ガーベージコレクションされるまではデータは残ってしまう。
・キー名の算出にはブラウザのHTTP_USER_AGENT、HTTP_ACCEPT_LANGUAGEなどを使う。これによりブラウザや言語設定単位である程度ユニークになると思われます。
・HTTP_ACCEPT_LANGUAGEを見ているので、途中でブラウザの言語設定を変えるとセッションが途切れる(なんじゃそりゃ(w

なんか結構いろいろやってるのでスマートではなですね…
PHPに修正が入ることが一番だと思いますが。

さて、この機構に対して攻撃をするならばどうするでしょう。
攻撃者は親ドメインなど、Cookieが優先されるURLに任意のタグを埋め込める状態であると想定します。
被害者は両方のサイトにアクセスする可能性があることにします。

・攻撃対象のブラウザと国(HTTP_ACCEPT_LANGUAGE)をしぼる。ブラウザはIEか?国は狙うサイトの国でしょう。
・正規の手順でサイトからセッションのCookieのキー名を取得する。これは更新間隔ごとに行う必要があるのでスクリプトにしますか。
・Cookieのキー名を取得したら、Cookieをセットするタグを埋め込み被害者が来るのを待つ。こちらもスクリプトで自動処理でしょうかね。
・被害者がしかけたCookieをセットするタグを踏んでかつ、キー名が変わる前に乗っ取りたいセッションのサイトにアクセスするのを待つ。
・被害者が引っかかったらキー名の更新が行われる前にセッションを乗っ取る。時間との戦いか。

意外と面倒かもしれない。
ここまで条件が多い攻撃をやるかどうかは未知数ですし、この方式がホントに問題ないかは保証できませぬ(汗

そういえば、昔LunascapeにはAjax取得時にUSER_AGENTが元のIEになるという変な動作してたので、Lunascapeではダメかもしれませぬ。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (739)

廿世紀浴場

カテゴリ : 
一般
執筆 : 
kisara 2009-5-12 22:08
廃業して久しい廿世紀浴場ですが、とうとう取り壊しになるようです。

5/18から解体工事が始まるみたいです。

残念ですな…
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (661)

ログイン

外部認証ログイン

OpenID


Twitter

管理者連絡先

関連サイト

アニメ・ゲーム・コミックの発売日なら 予定表.com

ページの終端です。ページの先頭に戻る