タグ

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

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

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

    alertを出したいんだ俺たちは - 葉っぱ日記
    send
    send 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日目) - 葉っぱ日記
    send
    send 2014/12/17
    なつかしい
  • ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記

    2014-09-27: 該当サイト上にXSSがなくても攻撃可能であることが id:mayuki さんのコメントで判明しましたので全面的に書き直しました。ファイアウォール内であっても攻撃者はファイアウォール内のShellshock攻撃が通用するCGIのURLがわかっているだけで攻撃可能ですので早急に対応が必要です!会社のブログにも書いてますが、ファイアウォール内に置いてあるサーバで攻撃者が直接アクセスできないからといってbashの更新を怠っていると、条件によっては攻撃が可能となります。 条件としては、 そのサーバにはシェルを経由して外部コマンドを起動するCGI等が動いている(通常のShellshockの攻撃と同条件) 攻撃者がそのURLを事前に知っている(あるいは推測可能) となります。 攻撃者は、ユーザーを罠URLへ誘導し、以下のようなJavaScriptを罠ページ上で動かし、攻撃対象のW

    ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記
    send
    send 2014/09/27
  • 機密情報を含む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 をつけるべき - 葉っぱ日記
    send
    send 2013/05/17
  • Web StorageやindexedDBを扱う上でのセキュリティ上の注意点 - 葉っぱ日記

    localStorageやsessionStorage、あるいはindexedDBのようなブラウザ上でのデータの保存が可能になったことで、これらを取り扱ううえでもセキュリティ上の注意点が必要である。 これらのストレージは、localStorageやindexedDBは永続的に、sessionStorageはブラウザやタブを閉じるまでの間データが保持され続けるので、例えばWebアプリケーションがログイン機構を持っている場合にログイン中にこれらのストレージに書き込まれたデータは、ログアウト後も当然参照および書き換えが可能である。Webアプリケーション上のアカウントに紐づいたデータをこれらのストレージに書き込んでいる場合、ログアウト後もアクセス可能なことが問題を引き起こす可能性がある。 例えばTwitterのようなサービスがあったとして、(navigator.onLineプロパティなどを利用して

    Web StorageやindexedDBを扱う上でのセキュリティ上の注意点 - 葉っぱ日記
    send
    send 2013/03/12
  • Web StorageやindexedDBを扱う上でのセキュリティ上の注意点(続編) - 葉っぱ日記

    先日書いた「Web StorageやindexedDBを扱う上でのセキュリティ上の注意点」の続き。 sessionStorage を使うと解決するか この用途なら sessionStorage でよい (はてなブックマーク - ssig33 - 2013年3月9日)sessionStorageはウィンドウあるいはタブが開かれてから閉じるまでの間をひとつのセッションとして管理し、そのセッションの期間中だけデータを保持します。ウィンドウやタブを閉じる際にはセッションは終了し、ストレージ上のデータは破棄されます。通常のWebアプリケーションでは、ログイン/ログアウト間というアプリケーション側が想定しているセッションと、sessionStorageのいうところのセッションとは異なる概念であり、ウィンドウを閉じる前に異なるユーザでログイン/ログアウトを繰り返した場合には同種の問題が発生する可能性があ

    Web StorageやindexedDBを扱う上でのセキュリティ上の注意点(続編) - 葉っぱ日記
    send
    send 2013/03/12
  • 脆弱性関連情報の非開示依頼の取下げ申請の結果が返ってきた - 葉っぱ日記

    2008年8月5日に届け出た脆弱性というか仕様というか問題ある挙動について、いつまで経っても修正されず、むしろ問題を公にしてユーザーが自衛するほうが社会的公益性が高いと思い、2012年10月21日に脆弱性関連情報の非開示依頼の取下げ申請をIPAに送ってみたら以下のような返事が返ってきた。 ドキュメント検査だけでは不十分なので、とりあえず、自分の名前や所属、使用しているコンピュータ名等が公に知られたくないという人は、Microsoft Officeで作成されたファイル(PDFに変換したのを含む)を他人に配布するのを避けるとよいと思います。 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - ----------------------------------------------------------------- このメールは、取扱い番号 I

    脆弱性関連情報の非開示依頼の取下げ申請の結果が返ってきた - 葉っぱ日記
    send
    send 2012/11/07
  • Shibuya.XSS テクニカルトーク#1 開催しました。 - 葉っぱ日記

    Shibuya.XSS テクニカルトーク#1を開催しました。 参加して頂いたみなさん、発表してくださったみなさん、そして会場を快くお貸しくださったうえにビールとピザまでご用意くださったmixiさん、ありがとうございました。 私の発表した資料を置いておきます。 MBCS文字コードを使ったJS配列の乗っ取り 次回予定はまったく未定ですが、もし開催することがありましたらまたみなさんのご参加をお願い致します。

    Shibuya.XSS テクニカルトーク#1 開催しました。 - 葉っぱ日記
    send
    send 2012/04/05
  • MS11-099 Internet Explorer 用の累積的なセキュリティ更新プログラム で修正されたXSSの話 - 葉っぱ日記

    マイクロソフト セキュリティ情報 MS11-099 - 重要 : Internet Explorer 用の累積的なセキュリティ更新プログラム (2618444) で修正された「Content-Disposition の情報漏えいの脆弱性 - CVE-2011-3404」について書いておきます。 Content-Disposition: attachment をHTTPレスポンスヘッダに指定すると、一般的なブラウザではコンテンツをブラウザ内でいきなり開くのではなく、ローカルディスクへダウンロードすることになります。ところが、MS11-099にて修正された脆弱性を使用すると、罠ページを経由することで Content-Disposition: attachment のついたhtmlを強制的にInternet Explorer内で開くことができたため、例えば Wiki や Web メールの添付ファ

    send
    send 2011/12/20
  • JSONのエスケープをどこまでやるか問題 - 葉っぱ日記

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

    JSONのエスケープをどこまでやるか問題 - 葉っぱ日記
    send
    send 2011/07/08
  • IEのローカルファイルをXHRでどこまで読みとらせるか - 葉っぱ日記

    ローカルのHTMLファイルからどこまで読み取れるか選手権 2011 - 金利0無利息キャッシング – キャッシングできます - subtech を読んでの補足。 IE9 on Windows 7 においてXHRを使ってローカルファイルを読み取る場合について、「許可するとやりたい放題」と書かれているとおり、IEが表示する警告をいったん「許可する」側に選択するとhtml内の JavaScript (あるいはVBScript)において通常のローカルのプログラムと同様にあらゆる操作が可能になります。(写真は英語版IE9) これは、IE6 / XP SP2 以降で導入された「ローカルコンピュータのロックダウン」が解除された状態になり、WSHやHTAと同様に、ローカルリソースへのアクセスや任意のActiveX Objectの生成を含め任意のコード実行が可能な状態になったということです。 ローカルに置い

    send
    send 2011/04/26
  • 各ブラウザのUTF-7の対応状況 - 葉っぱ日記

    今時のブラウザがどれくらいUTF-7をまだサポートしているか調べてみたのでメモ。全てWin32上。 IE8 レスポンスヘッダでcharset=utf-7と指定したとき、およびコンテンツの先頭(<html>より前)にUTF-7のBOMである +/v8- を挿入しておいた場合にUTF-7となる。<meta>でcharset=utf-7と指定した場合はページを表示したときにはUTF-7とはならないが、リロードするとUTF-7となる。 IE9beta レスポンスヘッダでcharset=utf-7と指定したとき、およびコンテンツの先頭(<html>より前)にUTF-7のBOMである +/v8- を挿入しておいたとき、<meta>でcharset=utf-7と指定したときにそれぞれUTF-7となる。 Firefox 3.6.13 <meta> で charset=utf-7 と指定しておくと、ページを

    各ブラウザのUTF-7の対応状況 - 葉っぱ日記
    send
    send 2011/02/11
  • 脆弱性を見つけて報奨金をもらえるやつ - 葉っぱ日記

    id:masatokinugawa さんがGoogleのXSSなどを見つけてたっぷり稼いだようで、すごいです。 Google's Vulnerability Reward Program - masatokinugawaの日記 Google、脆弱性指摘の日ハッカーに13174ドル支払い【増田(@maskin)真樹】 : TechWave $13674 (日円で112万円!)という金額ばかりに目がいきますが、記事に書かれてる内容は技術的にも全て興味深いものばかりです。 で、ちょっと悔しいので、ぼくも前に Mozilla Corp からもらった報奨金の写真貼っておきます。ちょっと見難いけど、$500 の小切手。このバグが修正されて報奨金の対象であるとメールで連絡を受けたわけですが、そのとき書かれていた内容は Since this bug bug was filed before our

    脆弱性を見つけて報奨金をもらえるやつ - 葉っぱ日記
    send
    send 2011/02/09
  • 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 つかわないやつは死ねばいいのに! - 葉っぱ日記
    send
    send 2011/01/09
  • 1分でわかる「X-ナントカ」HTTPレスポンスヘッダ - 葉っぱ日記

    最近のモダンなWebブラウザがサポートしている、セキュリティに関連しそうな X- なHTTPレスポンスヘッダをまとめてみました。それ以外にもあったら教えてください。 X-XSS-Protection 0:XSSフィルタを無効にする。 1:XSSフィルタを有効にする。 XSSフィルタを有効にすることでエンドユーザがXSSの被害にあう可能性が低減するが、まれに誤検知することで画面の表示が乱れることもある。IE8+、Safari、Chrome(多分) で有効。IEでは「X-XSS-Protection: 1; mode=block」という指定も可能。 2008/7/2 - IE8 Security Part IV: The XSS FilterBug 27312 – [XSSAuditor] Add support for header X-XSS-Protection X-Content-Ty

    1分でわかる「X-ナントカ」HTTPレスポンスヘッダ - 葉っぱ日記
    send
    send 2011/01/09
  • 記号プログラミング Advent Calendar がアツい! - 葉っぱ日記

    id:TAKESAKO さんがネタで発した一言から始まった、記号プログラミング Advent Calendar が超盛り上がっています。 perl-users (JPerl) に間借りしてやってるくせに、Perlと関係なくても記号プログラミングならOKということで始めたんですが、これまでに投稿された記事は以下の通り。 2010-12-01(水) 記号プログラミングの第一歩は BrainF*ck 2010-12-02(木) PHPでも記号プログラミング! 2010-12-03(金) 記号だけのJavaScriptプログラミングの基原理 2010-12-04(土) Ruby1.8で学ぶ、簡単?!記号プログラミング 2010-12-05(日) 記号だけのPerlプログラミングの基原理 2010-12-06(月) J言語で記号プログラミング 2010-12-07(火) 86バイナリでも記号プロ

    記号プログラミング Advent Calendar がアツい! - 葉っぱ日記
    send
    send 2010/12/09
  • JavaScriptで + - * = なしで記号だけでプログラムを書く - 葉っぱ日記

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

    JavaScriptで + - * = なしで記号だけでプログラムを書く - 葉っぱ日記
    send
    send 2010/03/24
    brainf*ck, whitespace, javascript …
  • JavaScript変態文法最速マスター - 葉っぱ日記

    Java変態文法最速マスター - プログラマーの脳みそをリスペクト。 JavaScriptの変態文法・技法一覧です。あんまり使わないけど、知ってるとXSSとか攻撃したいのにWAFに妨害されるなど、いろいろ制約があるという場合に便利。 文字列の生成 引用符を使わずにさくっと文字列を作る。fromCharCode とか使ってもいいけどめんどくさいので、正規表現やE4Xを利用。 alert( /string/.source ); alert( <>string</> ) 空白文字を使わず記述 文脈上、スペースを書きたいけれどいろいろ制約があって書けない場合にはコメントで代替。実行するコードを作り上げてevalしてもいいけど大袈裟なので。 var/**/x=1; */ を含むコードブロックをコメントアウト コードの塊りをコメントアウトしようと思って /* */ で囲むと、コード内に string.

    JavaScript変態文法最速マスター - 葉っぱ日記
    send
    send 2010/02/03
  • 記号だけでJavaScript! - 葉っぱ日記

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

    記号だけでJavaScript! - 葉っぱ日記
    send
    send 2009/06/03
    Brainf*ck とか Whitespace の亜種にしか見えない
  • アルファベットに加えて数字も禁止でjavascriptを書きたい(未完成) - 葉っぱ日記

    見落としてないよ。 アルファベット禁止でjavascriptを書いてみた - sub Diary (仮) …ね、簡単でしょう? お詫びというのも変だけど、もっと複雑にしてみた。 これで、alert 出す JavaScript からアルファベットと数値を取り除けます(Firefox限定)。今は固定で deadbeef! という文字列を alert してるけど、あと一歩で jjencode できそう。 _ = []|[]; $ = _++; __ = (_<<_); ___ = (_<<_)+_; ____ = __+__; _____ = __+___; $$ = ({}+"")[_____] + ({}+"")[_] + ({}[$]+"")[_] + (($!=$)+"")[___] + (($==$)+"")[$] + (($==$)+"")[_] + (($==$)+"")[__]

    アルファベットに加えて数字も禁止でjavascriptを書きたい(未完成) - 葉っぱ日記
    send
    send 2009/06/01