タグ

ブックマーク / ockeghem.hatenablog.jp (4)

  • SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog

    以前このブログでも取り上げたことのある神戸デジタル・ラボの近藤伸明氏がThink IT上で「SQLインジェクション大全」という連載を執筆しておられる。その第三回「SQLインジェクションの対策」を読んで以下の部分が引っかかった。 バインド機構とは、あらかじめSQL文のひな型を用意し、後から変動個所(プレースホルダ)に実際の値(バインド値)を割り当ててSQL文を生成するデータベースの機能だ。バインド値はエスケープ処理した後にプレースホルダにはめ込むので、悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 http://thinkit.jp/article/847/1/ たしかにエスケープ処理を使ってバインド機構を実装する場合もある。JavaMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性 | 徳丸浩の日記から派生して、MyS

    SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog
  • XSS対策:JavaScriptのエスケープ(その3) - ockeghem's blog

    5/14の日記XSS対策:JavaScriptのエスケープ(その2) - ockeghem(徳丸浩)の日記に対して、id:hasegawayosukeさんからコメントを頂戴した。その内容は、JavaScriptに対応していないブラウザの場合に対する考慮が抜けているという趣旨だと理解した。 元の日記にも書いたように、私自身はJavaScriptの動的生成は(特殊な場合を除いて)好ましくないと考えているが、始めた以上は最後まで検討しようと思う。 解決すべき課題の整理 まず、解決すべき課題を整理しよう。元の日記では、JavaScriptを動的生成する(ただし、文字列リテラル内のデータに限る)場合のXSS対策として二段階のエスケープが必要であることを説明した。具体的には、(1)JavaScript文字列リテラルのエスケープとして、「"」、「'」、「\」のエスケープの実施、(2)HTMLとしてのエス

    XSS対策:JavaScriptのエスケープ(その3) - ockeghem's blog
    IMAKADO
    IMAKADO 2008/04/02
    rel->popspot ブクマコメ
  • わーい \(^o^)/ PL/0を JS で書いたよー! - ockeghem's blog

    最近、JavaScriptで小さな処理系を書くのが流行っているらしい。 45歳を過ぎた私もやってみたいと思い、昔とった杵柄で、PL/0の処理系をJavaScriptで書いてみた。こちらをどうぞ。 amachangみたいに4時間というわけにはいかなくて、動き出すには6時間くらい(何日かに小分けにしたので)かかったと思う。 PL/0については、Wikipediaの解説が詳しい。 この実装の特徴としては、 教科書的な降下型パーサ(1トークン先読み) 簡単なPコードインタプリタでの実行(この部分だけ以前Cで書いたものを流用・移植した) 上記のごとくあまり特徴はない。素直にPL/0をJavaScriptで実装した まだ、手抜きが多い。単項マイナスもまだ。実装は容易です。 思ったこと もうPascalでは書けないと思いました(^^; デバッガもないCabezonで、よく8000行も書いたなぁー Fir

    わーい \(^o^)/ PL/0を JS で書いたよー! - ockeghem's blog
  • XSS対策:JavaScriptのエスケープ(その4) - ockeghem's blog

    XSS対策:JavaScriptのエスケープ(その3) - ockeghem(徳丸浩)の日記にて、JavaScriptのリテラルを動的生成する場合のエスケープ方法について検討したが、id:hoshikuzuさんから、考慮がもれているという指摘を受けた(http://d.hatena.ne.jp/hoshikuzu/20071011#p1:TITLE=2007-10-11 - hoshikuzu | star_dust の書斎 - JavaScriptエスケープについて論考)。 上記は長いエントリーではあるが、要約すると、特定文字エンコードの特定のバイト●に対して、特定ブラウザにおいて「●\」が一文字「■」として解釈されるため、「"」に対するエスケープ「\"」が破綻するという意味に解釈した。 興味深い内容であるので、以下に考察してみよう。 なぜエスケープが破綻するのか 上記のようなケースはさ

    XSS対策:JavaScriptのエスケープ(その4) - ockeghem's blog
    IMAKADO
    IMAKADO 2007/10/23
    エスケープを食べてしまう
  • 1