タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとHTMLとWebに関するmonjudohのブックマーク (5)

  • Re:href=

    Re:href="#" onclick の悪習 ネタ元:某日記:href="#" onclick の悪習 <a href="#" onclick="...">検索</a> なんて書き方やめようぜ!というお話 a要素のhref属性に値が入ってるとonclick属性の内容を実行後にhref属性の値を参照しようとする。 #なんかが入ってるとページの一番上部にページ内遷移をする。(※1) 某日記さんの代替案ですけどspanで代替するもの <span style="cursor: pointer" onclick="...">検索</span> 私だとこんな書き方 <a href="javascript:void(0)" onclick="...">検索</a> onclickイベントハンドラを実行しようとしてるなら、こんな書き方もある <a href="javascript:(onclickの内容

    Re:href=
  • まだまだあるクロスサイト・スクリプティング攻撃法

    前回はクロスサイト・スクリプティングのぜい弱性を突く攻撃の対策としてのHTMLエンコードの有効性を述べた。ただ,HTMLエンコードだけではクロスサイト・スクリプティング攻撃を完全に防御することはできない。そこで今回は,HTMLエンコードで対処できないタイプのクロスサイト・スクリプティング攻撃の手口と,その対策について解説する。 HTMLエンコードで対処できない攻撃には,次のようなものがある。 タグ文字の入力を許容している場合(Webメール,ブログなど) CSS(カスケーディング・スタイルシート)の入力を許容している場合(ブログなど) 文字コードを明示していないケースでUTF-7文字コードによるクロスサイト・スクリプティング <SCRIPT>の内容を動的に生成している場合 AタグなどのURLを動的に生成している場合注) 以下では,HTMLタグやCSSの入力を許容している場合と,文字コードを明

    まだまだあるクロスサイト・スクリプティング攻撃法
    monjudoh
    monjudoh 2007/07/04
    『CSS入力によるクロスサイト・スクリプティング』→expressionを使ってjsを仕込む 他に『UTF-7を利用したクロスサイト・スクリプティング』
  • 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
    monjudoh
    monjudoh 2007/07/04
    『JavaScriptに対応していないブラウザの場合に対する考慮』jsとして解釈されなかった-->でSCRIPTタグ内の<!-- //-->が途中で切られてしまうことがあるんですと。
  • XSS対策:JavaScriptのエスケープ(その2) - ockeghem's blog

    5/11の日記XSS対策:JavaScriptなどのエスケープ - ockeghem(徳丸浩)の日記に対する金床さんのコメントに触発されて、JavaScriptのエスケープについて検討してみよう。ただし、現実のアプリケーション開発においては、私はJavaScriptの動的生成を推奨していないが、これはエスケープ処理をどのように考えるかと言うレッスンのつもりで検討することにする。 金床さんのコメントで紹介されたリンクには、以下のようなガイドライン案が提案されている。 JavaScriptの文字列でのエスケープ手順としては、以下が今のところ正解っぽい感じです。 1. 「\」を「\\」に置換する 2. 「"」を「\"」に置換する 3. 「'」を「\'」に置換する 4. 「/」を「\/」に置換する 5. 「<」を「\x3c」に置換する 6. 「>」を「\x3e」に置換する 7. 「0x0D(CR)

    XSS対策:JavaScriptのエスケープ(その2) - ockeghem's blog
    monjudoh
    monjudoh 2007/07/04
    『現実の開発においてはJavaScriptの動的生成をせず、hidden field値を参照するべきである。』
  • XSS対策:JavaScriptなどのエスケープ - ockeghem's blog

    昨日の日記に対して、id:ikepyonさんからトラックバックを頂戴した。内容はそちら(Tipsと考え方とXSS対策)を読んでいただくとして、興味深いテーマなので少し突っ込んでみたい。 # 日によって「です・ます」で書いたり、「だ・である」で書いているのは気分の問題なので、あまり気にしないでいただきたい Tipsだけでなく、物事の質を見極め、何が危険で、何が安全なのかということを考える必要があると思う。 昨日の記事は、(一般的な)XSS対策として、どの文字をエスケープするのが「質的」だったかを考えたかったのであって、あれをTipsととらえると確かに失敗する。 JavaScriptのスクリプトなどが入っている場合も昨日と同じ方法論で考えることは可能である。まずはこれを検討してみよう。 スクリプトがonXXXのイベントハンドラとして記述されている場合 この場合は、HTMLタグの属性値として

    XSS対策:JavaScriptなどのエスケープ - ockeghem's blog
  • 1