5. RFC RFC 4250 The Secure Shell (SSH) Protocol Assigned Numbers RFC 4251 The Secure Shell (SSH) Protocol Architecture RFC 4252 The Secure Shell (SSH) Authentication Protocol RFC 4253 The Secure Shell (SSH) Transport Layer Protocol RFC 4254 The Secure Shell (SSH) Connection Protocol RFC 4255 Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints RFC 4256 Generic Message Exchange Authent
最近のモダンな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
これらの中で注目すべきは ‘ と ” と \ です。シングルクォート、ダブルクオートは文字リテラルを作成する為に利用され、\ でエスケープできることです。つまり、文字リテラルの最後に \ が現れると文字列の終端が無くなります。単独で不正なJavaScriptの挿入が可能になる訳ではありませんが、プログラムの構造が破壊される事を意味します。 PHPにはJavaScript文字列用のエスケープ関数が用意されていません。htmlspecialchars()やhtmlentities()で代用している場合も多いと思います。しかし、これらの関数ではJavaScript文字列のエスケープを十分に行う事ができません。 JavaScriptプログラムの構造が破壊される例 <?php $msg1 = 'test string\\'; $msg2 = ');alert(document.cookie); //
更新し忘れたが、既に下記の脆弱性は修正されている 4/11/2013 6:42 PM 追記: 明日エンジニアと調査するとカスタマーサポートから連絡があり、また近日アップデートパッチを用意するとのことだ。 先日紹介した、Satechi Smart Travel Routerだが、ふと直感的にセキュリティに問題があるような予感がしたので、自分のルーターをアタックしてみた。 結果から言うとCSRFが存在し、外部からインターネット越しに細工をしてあるURLを踏ませることで、ルーターのパスワード、SSIDを書き換えたり、WiFi to WiFiのリピータ機能のソースとなるWiFiを勝手に別の場所に書き換えて、Man in the middle攻撃を成立させたりできることが発覚した。 自分がどのようにSatechi Smart Travel Routerの脆弱性を発見したのかを動画にとったので、無編集
「location.hrefが信用出来ない問題」 http://hoge.com%2F@example.com/へアクセスした場合にlocation.hrefがhttp://hoge.com/@example.com/を返す (勝手にデコードされている) location.href = location.hrefで別のページに飛ぶ iOS 6.0未満、Android4.1未満の標準ブラウザで再現 Masato Kinugawa Security Blog: location.hrefの盲点 「location.hrefが信用出来ない問題」 location.hrefに@使ってなにか入れるのは普通にできる (http://hoge:huga@example.com/のlocation.hrefはhttp://hoge:huga@example.com/) location.hrefを独自解析
[デブサミ関西2013] JavaScript Security beyond HTML5 Presentation Transcript JavaScript Security beyond HTML5 ネットエージェント株式会社 長谷川陽介 Developers Summit 2013 Kansai Action! #kansumiB5 NetAgent http://www.netagent.co.jp/Developers Summit 2013 Kansai Action! #kansumiB5 自己紹介 長谷川陽介 - はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ・テクノロジー 技術顧問 セキュリティ・キャンプ Webセキュリティクラス講師 Microsoft MVP for Consumer Security Oct 2005 -
ECMAScriptの仕様では、0x0A/0x0D以外にU+2028/2029の文字も改行とすることが明記されています。 これはあまり知られていないように思います。 以下はアラートを出します。 <script> //[U+2028]alert(1) </script> 知られていないだけでなく、知っていたとしても、スクリプトで文字列を処理するときに、U+2028/2029まで考慮する開発者がどれだけいるのかという話です。 実際、U+2028/2029を放り込むと文字列リテラル内にその文字が生のまま配置され、エラーが出るページは本当にたくさんあります。まあ、エラーがでるだけなら、大抵の場合大きな問題にはなりません。 ところが、U+2028/2029によってXSSが引き起こされてしまう場合というのを最近実際に見ました。 Googleのサービスで見つけた2つのケースを取り上げたいと思います。 ケ
PHPカンファレンス2013における徳丸のプレゼン資料です。後から、参考文献などを加筆しました。Read less
robots.txtとは robots.txtは、検索エンジンのクローラー(bot)に、クロールされたいページや、クロールされたくないページを教えるテキストファイルのことです。多くの検索エンジンのクローラーは、そのドメインの最上位ディレクトリに設置されたrobotst.txtを最初に読み込んで、クロールするべきページとクロールするべきでないページを取得し、それに基づいて巡回します。ただ、一部のクローラーには、このrobots.txtを無視するものもあります。 robots.txtの書き方はおよそ以下の通りです。 User-agent:(ここにbotのユーザーエージェントを記述。ワイルドカード指定も可能) Crawl-Delay:(クロールの時間間隔を指定) Disallow:(クロールされたくないページやディレクトリを指定) Allow:(Disallowで指定されたディレクトリの小階層で
OAuth(オー オース[1])は、権限の認可 (authorization) を行うためのオープンスタンダードである。 2016年現在の最新の標準は、2012年にRFCとして発行されたOAuth 2.0である(RFC6749、RFC6750)。本稿でも以下、OAuth 2.0をベースに解説する。 OAuth 2.0では以下の4種類のロール(役割)を考える[2]: リソースオーナー (resource owner) リソースサーバー (resource server) クライアント (client) 認可サーバー (authorization server) リソースオーナーが人間である場合は、リソースオーナーのことをエンドユーザーともいう。 認可サーバーはリソースサーバーと同一のサーバーでも異なるサーバーでもよい[2]。 これら4つのロールを具体例に即して説明する。今、ウェブサイトA(リ
クロスサイトリクエストフォージェリ (cross-site request forgery) は、Webアプリケーションの脆弱性の一つ[1]もしくはそれを利用した攻撃。略称はCSRF(シーサーフ (sea-surf) と読まれる事もある[2][3])、またはXSRF。リクエスト強要[4]、セッションライディング (session riding[3]) とも呼ばれる。1990年代はイメタグ攻撃とも呼ばれていた[要出典]。脆弱性をツリー型に分類するCWEではCSRFをデータ認証の不十分な検証 (CWE-345) による脆弱性のひとつとして分類している (CWE-352)[5]。 なおCSRFの正式名称はクロスサイトスクリプティング (XSS) と似ているが、XSSは不適切な入力確認 (CWE-20) によるインジェクション (CWE-74) のひとつとして分類されており[5]、全く異なる種類の
Introduction Index Alphabetical Index ASVS Index MASVS Index Proactive Controls Index Top 10 Cheatsheets Cross Site Scripting Prevention Cheat Sheet¶ Introduction¶ This cheat sheet helps developers prevent XSS vulnerabilities. Cross-Site Scripting (XSS) is a misnomer. Originally this term was derived from early versions of the attack that were primarily focused on stealing data cross-site. Since t
4. 典型的なXSSサンプルに対する「素朴な疑問」 • クッキーの値がアラートで表示されても、特に危険性はないよ うな気がする • クッキーの値はブラウザのアドオンなどでも表示できるよね • 任意のJavaScriptが実行されると言っても、ホームページ作 れば任意のJavaScriptが書けるし、見た人のブラウザで実行 されるよね… Copyright © 2013 HASH Consulting Corp. 4 5. そもそもの疑問:JavaScriptは危険か? • 実は、JavaScriptの実行自体は危険ではない • Webは、未知の(ひょっとすると悪意のある?)サイトを訪問し ても「悪いこと」が起きないように設計されている • JavaScriptの「サンドボックス」による保護 – JavaScriptからローカルファイルにアクセスできない – JavaScriptからクリップ
We, like an overwhelming majority of the Internet, use jQuery on the Box web application. We use it primarily to make our lives easier as it effectively abstracts away cross-browser API differences. The plugin infrastructure makes it easy to extend and fill in any gaps we may have. For all that jQuery offers, though, there is one downside: jQuery makes XSS easier than if you use native methods. Th
Stack Overflowに面白い質問があったので紹介する javascript - Why does Google prepend while(1); to their JSON responses? - Stack Overflow 質問 Googleのサービス内で使われるJSONの先頭に while(1); てついているのは何故? 例えばGoogle Calendarではカレンダーを切り替えるときに以下のような内容のデータがサーバから返される。 while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],['remindOnRespondedEventsOnly','true'],['hideInvitations_remindOnRespondedEventsOnly','false_true'],['C
前回の続き。なるべく一般人向けに書きます。サードパーティCookieとあまり関係のない話も書きます。 http://d.hatena.ne.jp/mala/20111125/1322210819 http://d.hatena.ne.jp/mala/20111130/1322668652 前回までの概要 トラッキング目的のCookieの利用などからサードパーティCookieの利用は問題視されIE6で制限がかけられるもプライバシーポリシーを明示すれば利用できるという迂回手段を用意、しかし今ではP3Pはオワコン化、SafariはサードパーティCookieの受け入れをデフォルトで拒否する設定を採用したが一度受け入れたCookieは問答無用で送信、Mozilla関係者は「殆ど合法的な利用目的はない」と言っていたものの既存Webサイトとの互換性のために変更できず、ブラウザはサードパーティCookie
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く