タグ

ブックマーク / hasegawa.hatenablog.com (14)

  • alertを出したいんだ俺たちは - 葉っぱ日記

    利用者に対してメッセージを意識的に伝えたり、あるいは何かしらの行動を促すために、ダイアログボックスを表示するための機能がブラウザーには複数実装されている。alertの聖地、兵庫県出身者として、その手の機能を以下にまとめた。 機能 UIの占有など 機能、特徴 javascriptの window.alert メソッド タブモーダル 任意のメッセージが表示可能。繰り返し表示される場合にそれを抑止する機能がほとんどのブラウザーに実装されている。 javascriptの window.prompt メソッド タブモーダル 任意のメッセージが表示可能。任意の1行テキストが入力できる。繰り返し表示される場合にそれを抑止する機能がほとんどのブラウザーに実装されている。 javascriptの window.confirm メソッド タブモーダル 任意のメッセージが表示可能。OK、キャンセルのボタンを持つ

    alertを出したいんだ俺たちは - 葉っぱ日記
    YAA
    YAA 2019/03/12
  • 脆弱性"&'\ Advent Calendar 2014 (17日目) - 葉っぱ日記

    この記事は脆弱性"&'<<>\ Advent Calendar 2014の17日目の記事です。今日は少し昔話をしようと思います。がはは。 かつて、日TwitterのようなWassrというサービスがありました。当時、Twitterは数日に一度くらいはサービスが落ちていて、Twitterユーザーも「またか」と思いながら我慢して使うようなサービスであり、Twitterが落ちるたびにWassrはユーザーを増やすとともに、画像の添付のように当時Twitterにはまだなかった機能をどんどんアグレッシブに取り入れていく、使っていて楽しいサービスでした。 さて、そんなWassrがある日絵文字機能を導入しました。当時はUnicode絵文字もなくスマートフォンも普及しておらず、主にレガシーな携帯電話で使える絵文字をなんとかWeb上でも使えるようにしたという感じのものでした。 絵文字をパレットから選択すると

    脆弱性"&'\ Advent Calendar 2014 (17日目) - 葉っぱ日記
    YAA
    YAA 2014/12/19
  • Chromeで(☝ ՞ਊ ՞)☝ウイーン - 葉っぱ日記

    この記事はEject Advent Calendar 20133日目の記事です。ちなみに今日は僕の誕生日です かつて一世を風靡し世界中のChromeユーザーを病院送りにしたCD-ROM トレイを取り出せる Chrome拡張、「chrome-eject」ですが、内部でNPAPIを使っていたために近い将来確実に動かなくなります。 Chromium Blog: Saying Goodbye to Our Old Friend NPAPI そこで人類が平和に暮らせるようEjectできる代替措置を探す必要に駆られ、非常に限定的ながらChromeからEjectする方法を確立し、Chrome-eject2としてリリースしましたのでAdvent Calendarの記事として記す次第です。 Chrome-eject がこの先生きのこるには from Yosuke HASEGAWA 上記スライド内にも書いてあ

    Chromeで(☝ ՞ਊ ՞)☝ウイーン - 葉っぱ日記
  • 機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記

    WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記)。 例えば、機密情報を含む以下のようなJSON配列を返すリソース(http://example.jp/target.json)があったとします。 [ "secret", "data", "is", "here" ] 攻撃者は罠ページを作成し、以下のようにJSON配列をvbscriptとして読み込みます。もちろ

    機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
    YAA
    YAA 2013/06/10
  • XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記

    合わせて読んでください:Flashと特定ブラウザの組み合わせでcross originでカスタムヘッダ付与が出来てしまう問題が未だに直っていない話 (2014-02/07) XMLHttpRequestを使うことで、Cookieやリファラ、hidden内のトークンを使用せずにシンプルにCSRF対策が行える。POSTするJavaScriptは以下の通り。(2013/03/04:コード一部修正) function post(){ var s = "mail=" + encodeURIComponent( document.getElementById("mail").value ) + "&msg=" + encodeURIComponent( document.getElementById("msg").value ); var xhr = new XMLHttpRequest(); xhr

    XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記
    YAA
    YAA 2013/03/05
  • IE6/7のでは「;」で区切ってURLが複数指定できる問題 - 葉っぱ日記

    Masato Kinugawaさんのブログ「Masato Kinugawa Security Blog: Googleのmetaリダイレクトに存在した問題」を読んで、 <meta http-equiv="refresh" content="0;url=http://good/;url=http://evil/"> みたいな書き方をするとIE6、IE7ではevilなほうにリダイレクトされるということを初めて知ったわけですけど、それをTwitter上で言ったら みたいに言われてしまって軽くショック受けたんで追試してみたけど、「;」をエスケープしようと <meta http-equiv="refresh" content="0;url=http://good/&#x3b;url=http://evil/"> みたいに書いても、「;url=」みたいな文字列が出現してしまって、やっぱりevilにリダ

    IE6/7のでは「;」で区切ってURLが複数指定できる問題 - 葉っぱ日記
    YAA
    YAA 2012/03/08
  • JSONのエスケープをどこまでやるか問題 - 葉っぱ日記

    Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性 JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSS それぞれの詳細については後述します。 開発側でやるべきこと 文字列中のUnicode文字は "\uXXXX" な形式にエスケープするとともに、ASCIIな範囲であっても「/」「<」「>」「+」も同様にエスケープすることにより、前述の脆弱性を防ぐことができます。 Perlであれば、以下のような感じになります。JSON->ascii(1) に続けて、JSON文字列を正規表現で置換しているあたりがキモになります。 use utf8; u

    JSONのエスケープをどこまでやるか問題 - 葉っぱ日記
  • IE9 RC マイナーな変更点リスト - 葉っぱ日記

    Eric Lawrence さんから、IE9 RC Minor Changes List - EricLaw's IEInternals - Site Home - MSDN Blogs の翻訳の許可をもらったので訳してみました。間違い等あれば教えてください。 遡ること9月に、私はIE9のマイナーな変更点のリスト*1を公開しました。今日は、IE9リリース候補版で変更された点について紹介します。注意:このリストは当時言及しなかったBetaでの変更点もいくつか含んでいます。 もちろん、ここには含まれていない多数の変更点があるので、この記事を完全なリストとは思わないでください。また、IEBlog上で論じられているような大きな機能変更については意図的に飛ばしている点にも注意してください。 過去にこのブログで論じた、IE9の新機能や改善点については BetterInIE9タグを検索することで参照でき

    IE9 RC マイナーな変更点リスト - 葉っぱ日記
    YAA
    YAA 2011/02/16
  • X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記

    2011-01-06: IE8ということを追記 & ちょっと間違いを修正。あけましておめでとうございます。 年明け早々ですが、Internet Explorerの話題です。IEはご存じの通り、Content-Type だけでなくコンテンツの内容なども sniff することでファイルタイプを決定しているため、画像ファイルやテキストファイルをHTMLと判定してしまい、クロスサイトスクリプティングが発生することが昔からたびたび報告されていました*1。現在は幾分マシになったとはいえ、IEのファイルタイプの判定アルゴリズムは非常に難解であり、現在でも状況によってはWebサイト運営者のまったく意図していないかたちでのXSSが発生する可能性があったりします。そういうわけで、IEがコンテンツを sniff してHTML以外のものをHTML扱いしてしまうことを防ぐために、動的にコンテンツを生成している場合に

    X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記
    YAA
    YAA 2011/01/17
  • IE9 Beta のマイナーな変更点リスト - 葉っぱ日記

    Eric Lawrence さんから、IE9 Beta Minor Changes List - EricLaw's IEInternals - Site Home - MSDN Blogs の翻訳の許可をもらったので訳してみました。間違い等あれば教えてください。 ブラウザの各リリースにおいて我々が行う様々な機能の追加変更のほとんどは、IEBlog の投稿において読むことができます。しかしながら、我々は同時に、見落とされがちな、あるいはあまり広くは知られていないような多数の小さな改善も行っています。この記事では、それらの小さな改善のうち私が興味深いと考えるものについてピックアップしてみます。影響を与える改善点やこれまでにこのブログ上で議論された機能などは、BetterInIE9 を検索することにより見つかります。 もちろん、私が把握していない何千もの変更があるので、これを包括的なリストと誤

    YAA
    YAA 2010/10/08
  • JavaScriptで + - * = なしで記号だけでプログラムを書く - 葉っぱ日記

    id:hoshikuzu さんが言ってたので書いてみた。こんな感じ↓。コードはすぐ書けたけど、この記事書くのに30分以上かかってる気がする。 javascript:(~~[])[<_>{/...$/({})[~~[]][~~[]]}{/../({})[~~[]][1]}{/...$/({}[{}])[ ~~[]][~~[]]}{/..$/(!{})[~~[]][~~[]]}{/./(!![])[~~[]][~~[]]}{/...$/(!![])[~~[]][ ~~[]]}{/..$/(!![])[~~[]][~~[]]}{/...$/({})[~~[]][~~[]]}{/./(!![])[~~[]][~~[]]}{ /../({})[~~[]][~~!![]]}{/...$/(!![])[~~[]][~~[]]}</_>][<_>{/...$/({})[~~[]][~~[] ]}{/../

    JavaScriptで + - * = なしで記号だけでプログラムを書く - 葉っぱ日記
    YAA
    YAA 2010/03/31
    「1」が残ってる
  • 興味のあるECMA実装にJScriptと書いていたら面接で爆笑された - 葉っぱ日記

    Inspired by Big Sky :: 興味のあるテキストエディタにVimと書いておいたら面接で爆笑された JavaScriptエンジニアを募集してる会社の採用面接を受けた時の話。 転職エージェントに作れと言われて作ったシートに、「興味のあるECMAScript実装」という欄があったんです。 ActionScriptとか色々書いたけど、ECMAScript実装一族の中で興味があるのはJScriptだったので、 JScriptと書いておいたのですが、それを見たイケメンで渋谷から朝帰りしてそうな現在社出向中の面接官のリアクションが酷かった。 面接官「JScript・・・ふははっ!JScript!」 面接官「JScriptやってるんですか?wwwww」 俺「(唖然)は、はい・・まだサーバサイドJSをCGIで動かしたぐらいですが。。」 面接官「サーバサイドJS・・・ニヤニヤ」 その人はエン

    興味のあるECMA実装にJScriptと書いていたら面接で爆笑された - 葉っぱ日記
    YAA
    YAA 2010/02/10
  • 実行中のアプリケーションを外から観察するソフトウェア(Windows版) - 葉っぱ日記

    「実行中のアプリケーションを外から観察するコマンド。 - こせきの技術日記」のWindows版。Dependency Walkerを除き Microsoft 純正。以下のうちのいくつかは64ビット環境でも動くかも知れませんがあまりよく知りません。 Process Monitor http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx Windows上で外から観測する場合のほとんどのときにはこれだけで足りるくらいの強力なツール。 各プロセスのアクセスしているファイル、レジストリ、プロセスおよびスレッドの状態などのうち、設定したフィルタに応じたものだけを出力できる。 ApiMon http://www.microsoft.com/downloads/details.aspx?FamilyID=49ae8576-9bb9-412

    実行中のアプリケーションを外から観察するソフトウェア(Windows版) - 葉っぱ日記
    YAA
    YAA 2009/06/24
  • 記号だけでJavaScript! - 葉っぱ日記

    Gareth HeyesさんがHackvertorに hasegawa タグを追加してjjencode機能を実装してくれました! すげーーーーーー! ちなみに、単純に alert するだけじゃなく eval 相当なので好きなJavaScriptプログラムが記号だけで書けます! javascript:$$=-~-~[],$=-~$$,$$$$=$$<<$$,$$$=$$$$+~[];$$$$$=($-$)[$$$$$$=(''+{})[$$+$]+(''+{})[$-$$]+ ([].$+'')[$-$$]+(!!''+'')[$]+({}+'')[$+$]+(!''+'')[$-$$]+(!''+'')[$$]+(''+{})[$$+$]+({}+'')[$+$]+('' +{})[$-$$]+(!''+'')[$-$$]][$$$$$$];$$$$$($$$$$((!''+'')[$-$

    記号だけでJavaScript! - 葉っぱ日記
  • 1