タグ

2010年9月22日のブックマーク (10件)

  • Kazuho@Cybozu Labs: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について

    昨日の Twitter の XSS 騒ぎは、まだ皆さんの記憶に新しいことと思います。いい機会なので、ツイートのような構造化テキストのエスケープ手法について触れておきたいと思います。 Twitter のメッセージは、単なる平文(プレインテキスト)ではなく、「@英数字」のような他のユーザーへの言及と「http://〜」のような URL を自動的にハイパーリンク化する構造化テキストです。 このような複数のルールをもつ構造化テキストを HTML 化する際には、どのようなコードを書けばいいのでしょう? まず「@〜」をリンク化してから、URL をリンク化すればいいのでしょうか? それだと、@〜 のをリンク化した A HREF タグの中の URL がさらにリンク化されていまいますね。 では、URL をリンク化してから @〜 をリンク化すればいいのでしょうか? それだと、@ を含む URL があった場合に

  • yebo blog: 64ビットモードのLinuxカーネルにroot権限奪取の脆弱性

    2010/09/21 64ビットモードのLinuxカーネルにroot権限奪取の脆弱性 ほとんどの64ビットモードで動作しているLinuxカーネルにローカルでroot権限奪取の脆弱性 (CVE-2010-3081) があることが分かったそうだ。arch/x86/include/asm/compat.h の中の関数 compat_alloc_user_space() の sanity checkが誤っているために引き起こされる (http://sota.gen.nz/compat1/) 。既にエクスプロイトコード (Ac1db1tch3z) が公表されており、多数のユーザがログインするシステムでは悪用されるとバックドアを作られる可能性がある。既にソースコードレベルのパッチはリリースされており、自身のシステムに脆弱性があるかどうかは、Kspliceがチェック用のツールをリリースしている。 $ .

  • Gtags.vim の活用を試みる - 肉とビールとパンケーキ by @sotarok

    引き続きvimの設定をいじり中。 GNU Global については,以前machuさんのブログを見て知っていて,gtags.vimも入ってたんだけど,いつもコマンドとか忘れて使えてなかったので,せっかくなので再入門してみることにした。今度は忘れないようにちゃんとキーバインド登録しておこう。 詳しいことは以下参照ってことで。 ソースコードを快適に読むための GNU GLOBAL 入門 (中編) - まちゅダイアリー(2009-03-08) ソースコードを快適に読むための GNU GLOBAL 入門 (前編) - まちゅダイアリー(2009-03-07) で,自分も先のブログを参考にしつつ,加えてちょっと設定した。 " gtags " 検索結果Windowを閉じる nnoremap <C-q> <C-w><C-w><C-w>q " Grep 準備 nnoremap <C-g> :Gtags -

    Gtags.vim の活用を試みる - 肉とビールとパンケーキ by @sotarok
  • Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とビールとパンケーキ by @sotarok

    バイトとしてお世話になっている,PFIで,「モダンPHPプログラミング入門」について,社内セミナーでお話してきました. 約一時半,Ustもながしつつ,社員の皆さんから質問をうけつつ.長々と,しゃべってしまいました. 対象者は,PFIの社員さんのように 他のプログラミング言語を知っている 「PHPって,HTMLの中に <?php とかって書くやつでしょ?」とか未だに思ってる 昔触ったことあったけど最近のPHPしらない みたいな人.そんな内容です. テンプレート言語と言われるPHPですが,プログラミング風の機能もたくさんついているんだぁ!ということを感じていただければ嬉しいです(w Modern PHP Programming @ PFI SeminarView more documents from sotarok. Ust の録画: Ustream.tv: ユーザー preferred:

    Modern PHP Programming 入門 @ PFI 社内セミナー - 肉とビールとパンケーキ by @sotarok
    kamipo
    kamipo 2010/09/22
  • 2010-09-22 - IT戦記

    はじめに 今日から、オーマ株式会社の二人目の社員として、オーマ株式会社に入社いたしました。(大事なことなので2回言いました) よろしくお願いいたします。 オーマ株式会社では あのひと検索スパイシー というサイトを作っています。 僕も、これれから SPYSEE の企画、開発、運用、そして、様々なサポート(トイレ掃除とかね!)をやっていこうと思っています。 みなさま、よろしくお願いいたします! 今日は、僕が「この会社で何をやっていきたいのか」を書いておきたいと思います。 これから何をやっていきたいか 僕がこれから SPYSEE でやっていきたいことは三つあります。 それは、 「運命の出会い」の確率をあげたい! 人の背景を知ることで、コミュニケーションをもっと楽しくすること アピールが苦手な人(シャイなあんちくしょう)でも損をしない仕組みを作ること です。 これは、あくまでも「今、僕が考えている

    2010-09-22 - IT戦記
    kamipo
    kamipo 2010/09/22
    運命の出会いしたい!
  • 開発メモ: 50行のC++コードでWebサーバを実装する

    「Kyoto Tycoonの設計 その四」改め、50行でWebサーバを書く方法を解説する。前回実装した「多重I/Oマルチスレッド汎用TCPサーバ」の上にHTTPの処理を行う層をつけて、「多重I/Oマルチスレッド汎用HTTPサーバ」を司るクラスを実装してみたので、それを使ってちょちょいとやる。 URLクラス HTTPと言えばURLが使えないと意味がない。URLは単なる文字列として扱ってもよいのだが、様々なシーンで分解や加工が必要になり、その処理はなにげに複雑で面倒なので、予めクラスとして導出しておいた方がよいだろう。 class URL { public: // 文字列のURLを解析して内部構造を作る void set_expression(const std::string& expr); // スキーム要素を設定する void set_scheme(const std::string&

    kamipo
    kamipo 2010/09/22
  • 第34回 MOPS:コードの品質とソースコード監査の重要性 | gihyo.jp

    第32回 PHPセキュリティ月間(Month of PHP Sercurity)で「PHPセキュリティ月間」(MOPS - Month of PHP Security)について簡単に紹介しました。 今回もMOPS関連の話題です。MOPSでmysqlnd(MySQL Native Driver)に発見された脆弱性を例に、コードの監査の重要性を解説します。 MySQL Native Driverとは? MySQL Native Driver(以下mysqlnd)とは、MySQL ABが提供するMySQL用のライブラリlibmysqlPHPライセンスと互換性のないライセンスで配布されていた問題に対応するために開発された新しいMySQLサーバ接続(クライアント)ライブラリです。PHP 5.3から利用できます。 mysqlndはlibmysqlとは異なり、クライアント側でのキャッシュを有効にするな

    第34回 MOPS:コードの品質とソースコード監査の重要性 | gihyo.jp
  • HTTP クライアントを作ってみよう(6) - Digest 認証編 -

    Digest 認証 (ダイジェスト認証) 前ページでは Basic 認証を紹介し、セキュリティ面で問題があることを示しました。 その欠点を解消したのが Digest 認証です。 以下の URL では Digest 認証を行っています。 ブラウザから操作する分には Basic 認証と区別が付かないでしょうが、 認証の仕組みはちょっと複雑になっています。そのかわり、 ネットワーク上を流れるパケットを覗き見られても、パスワードがばれることはありません。 以下、仕組みを簡単に説明します。 「メッセージダイジェスト」の意味がよくわからなければ、暗号化のお話 (3) を参照してください (「ハッシュ」と「メッセージダイジェスト」は同じものと考えてください)。 まず、あらかじめサーバ側にパスワードの MD5 メッセージダイジェストを保存しておきます (ユーザ登録に相当)。 クライアントが Digest

  • What every web developer must know about URL encoding | Lunatech Research - IT consulting, product research and software development

    The Scheme (here http and https (secure HTTP)) define the structure of the rest of the URL. Most internet URL schemes have a common first part which indicates the user, password, host name and port, followed by a scheme-specific part. This common part deals with authentication and being able to know where to connect in order to request data. HTTP URL syntax For HTTP URLs (with the http or https sc

  • ある程度の年齢を迎えたプログラマが抱える悩み - bkブログ

    ある程度の年齢を迎えたプログラマが抱える悩み ある程度の年齢を迎えたプログラマが抱える悩みに、「若手のプログラマと比べて、どうやって価値を出していくか」という問題があります。これは言い換えれば「同じような生産性であれば、相対的に給料の低い若手のプログラマに置き換えられてしまうのではないか」という悩みです。 この問題のひとつの解決策は、プログラマ以外の仕事のポジション(たとえば管理職など)に移ることですが、他のポジションには向いていない、まだまだ現役でプログラマをやりたいという場合にどんな戦略があるか考えてみました。なお、後述するように、以下に挙げた戦略は相反するものではなく、組み合わせが可能です。 エキスパート戦略 この分野ではトップクラス、というレベルの専門性を身につけ、その分野に特化してキャリアを築くという戦略です。たとえば、ネットワークやセキュリティといった分野で一流と認められる専門