タグ 葉っぱ日記
人気順 5 users 10 users 100 users 500 users 1000 usersalertを出したいんだ俺たちは - 葉っぱ日記
利用者に対してメッセージを意識的に伝えたり、あるいは何かしらの行動を促すために、ダイアログボックスを表示するための機能がブラウザーには複数実装されている。以下はそのまとめである。 機能 UIの占有など 機能、特徴 javascriptの window.alert メソッド タブモーダル 任意のメッセージが表示可能。繰り返し表示... 続きを読む
安全な脆弱性の作り方 - 葉っぱ日記
この記事は 「 脆弱性"&' \ Advent Calendar 2016 」16日目の記事です。具体的な脆弱性の話でなくてすみません。いろいろコードを書いていると、安全に脆弱性を発生させたくなるときがあります。って書くとさっぱり意味がわからないと思いますが、セキュリティの講義のための演習環境とかそういうやつです。 受講生自身の手でWebアプリケーションの脆弱性を探してもらうような演習では、検査対... 続きを読む
Visual Studio Code における任意コード実行の問題 - 葉っぱ日記
Microsoftの提供するテキストエディタ Visual Studio Code にはローカルに保存されている特定の名前のファイルを起動時に読み込み、その内容をコードとして実行してしまう問題があります。現在のv1.7.1では問題は解消されていますが、問題が発生することを確認したv0.8.0との間のどのバージョンで問題が修正されたのかは不明です。 Microsoftでは本件を脆弱性として取り扱って... 続きを読む
Electronのwebview要素ではallowpopups属性をつけてはいけない - 葉っぱ日記
Electronを使ってブラウザのようなアプリケーションを作る場合には webview タグが使用される。例えば、アプリケーション内にexample.jpのサイトを表示するには以下のようにHTMLに記述する。 webview src = "http://example.jp/" > webview > ここで、webviewタグに allowpopups 属性を付与すると、example.jpサイ... 続きを読む
クロスサイトスクリプティング対策 ホンキのキホン - 葉っぱ日記
本稿は CodeZineに2015年12月28日に掲載された記事 の再掲となります。 クロスサイトスクリプティング(XSS)は、古くから存在し開発者にもっともよく知られたセキュリティ上の問題のひとつでありながら、 OWASP Top 10 でも2010年に引き続き2013年でも3位と、未だに根絶できていない脆弱性です。 本記事では、Webアプリケーションの開発においてXSSを根絶するために必要な対... 続きを読む
Electronでアプリを書く場合は、気合いと根性でXSSを発生させないようにしなければならない。 - 葉っぱ日記
そのうちもう少しきちんと書きますが、とりあえず時間がないので結論だけ書くと、タイトルが全てでElectronでアプリを書く場合は気合いと根性でXSSを発生させないようにしなければならない。 これまでWebアプリケーション上でXSSが存在したとしても、影響範囲はそのWebアプリケーションの中に留まるので、Webアプリケーションの提供側がそれを許容するのであればXSSの存在に目をつむることもできた。し... 続きを読む
セキュリティ・キャンプ全国大会2015資料まとめ - 葉っぱ日記
セキュリティ・キャンプ全国大会2015の講義で使用された資料のまとめ。公開されていない講義が多いので、すべての講義資料があるわけではありません。随時追加。WebプラットフォームのセキュリティJavaScript難読化読経HTTP/2, QUIC入門SSL/TLSの基礎と最新動向フレームワークに見る Web セキュリティ対策(これからのWebセキュリティ)ツイートする 続きを読む
ブラウザ上でMarkdownを安全に展開する - 葉っぱ日記
不特定のユーザーが入力したMarkdownをブラウザ上でJavaScriptを使ってHTMLに変換するという場面においては、JavaScriptで変換してHTMLを生成するという処理の都合上どうしてもDOM-based XSSの発生を考えないわけにはいかない。かといって、MarkdownをパースしHTMLを生成するという処理すべてをXSSが存在しないように注意しながら自分で書くのも大変だし、mar... 続きを読む
脆弱性"&'<<>\ Advent Calendar 2014 (17日目) - 葉っぱ日記
この記事は脆弱性"&'\ Advent Calendar 2014の17日目の記事です。今日は少し昔話をしようと思います。がはは。かつて、日本製TwitterのようなWassrというサービスがありました。当時、Twitterは数日に一度くらいはサービスが落ちていて、Twitterユーザーも「またか」と思いながら我慢して使うようなサービスであり、Twitterが落ちるたびにWassrはユーザーを増や... 続きを読む
脆弱性"&'<<>\ Advent Calendar 2014 (12日目) - 葉っぱ日記
この記事は\ Advent Calendar 2014の12日目の記事です。Enjoy!\ Advent Calendar 2014 (12日目) - 葉っぱ日記 (id:hasegawayosuke)" data-url="http://d.hatena.ne.jp/hasegawayosuke/20141212/p1" href="http://twitter.com/share">ツイートす... 続きを読む
JavaScriptでリンク先URLがhttp/httpsか確認する方法 - 葉っぱ日記
JavaScriptで動的にリンクを生成する際に、DOM-based XSSを防ぐためにリンク先がhttpあるいはhttpsに限定されていることを確認したい場合がある。典型的には以下のようなコードとなる。 var div, elm; // 変数 url は攻撃者がコントロール可能な文字列 if( url.match( /^https?:\/\// ) ){ div = document.getEl... 続きを読む
ファイアウォール内のサーバに対するShellshockを利用した攻撃 - 葉っぱ日記
会社のブログにも書いてますが、ファイアウォール内に置いてあるサーバで攻撃者が直接アクセスできないからといってbashの更新を怠っていると、条件によっては攻撃が可能となります。条件としては、 そのサーバにはシェルを経由して外部コマンドを起動するCGI等が動いている(通常のShellshockの攻撃と同条件) そのサーバにはXSSのあるWebアプリケーションが存在している 攻撃者は1.および2.の両方... 続きを読む
mXSS - Mutation-based Cross-Site-Scripting のはなし - 葉っぱ日記
ここ数年、XSS業界の最先端で盛り上がっている話題として mXSS というものがあります。mXSS - Mutation-based XSS とは、例えば innerHTML などを経由してすでに構築されているDOMツリーを参照したときに、本来のDOM構造とは異なる結果を得てしまい、そのためにHTML構造の破壊を引き起こすという類のDOM based XSSの亜種とも言えます。mXSSに関しては以... 続きを読む
5分でテンションを上げる方法 - 葉っぱ日記
ちょっとテンションを上げたくなる時ってありますよね!今日はそんなときに簡単にテンションをあげる方法をお伝えします! まず、PowerPoint(画像は2010)に適当な写真を張り付け 四角形を置き、写真と同じ大きさの四角形を置きます。 四角形の枠線を「なし」にし、「塗りつぶし」の図を先ほどの写真にします。これで同じ写真が2枚ならぶ恰好になります。 「図ツール 書式」から「背景の削除」を選び、顔と首... 続きを読む
HTML5関連のセキュリティ情報 - 葉っぱ日記
HTML5に関連したセキュリティの話題で、とりあえずこれまでに話した資料の一覧や、考察した記事。今後もっと増える予定です。「このAPI使う上で気を付けることないの?」みたいなリクエストもあればぜひ言って下さいませ。JavaScript Security beyond HTML5 (2013-09-20 Developers Summit Kansai 2013)HTML5セキュリティ その1:基礎... 続きを読む
機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Ty... 続きを読む
Same-Origin Policy とは何なのか。 - 葉っぱ日記
ちょっと凝ったWebアプリケーションを作成していたり、あるいはWebのセキュリティに関わっている人ならば「Same-Origin Policy」という言葉を一度は聞いたことがあると思います。日本語では「同一生成元ポリシー」あるいは「同一生成源ポリシー」などと訳されることもありますが、個人的には「オリジン」は固有の概念を表す語なので下手に訳さず「同一オリジンポリシー」と書いておくのが好きです。さて、... 続きを読む
Web StorageやindexedDBを扱う上でのセキュリティ上の注意点 - 葉っぱ日記
// 変数 uid はログイン中のユーザを識別する値 // uid が異なる場合にはストレージをクリア if( localStorage.getItem( "uid" ) !== uid ){ localStorage.removeItem( "tweet" ); localStorage.setItem( "uid", uid ); } ... // オフライン時に保存されているtweetを投稿... 続きを読む
XMLHttpRequestを使ったCSRF(補足編) - 葉っぱ日記
XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記を書いていて思ったけど、いまいちXHRを使ったCSRF(というかクロスオリジン通信)について理解されていないような感じだったので、ちょっと書いておきます。とりあえず日本語のリソース的には、HTTP access control | MDN が詳しくて、それを読めばだいたい事足りるんで、あとはCSRFに関連しそうな話題だけ。Q. そもそ... 続きを読む
XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記
XMLHttpRequestを使うことで、シンプルにCSRF対策が行える。POSTするJavaScriptは以下の通り。 function post(){ var s = encodeURIComponent( document.getElementById("mail").value ) + "&" + encodeURIComponent( document.getElementById("m... 続きを読む
GoogleのJSON(モドキ)の先頭にwhile(1); がつく理由 - 葉っぱ日記
なぜGoogleはJSONの先頭に while(1); をつけるのか #JavaScript #HTML #Ajax #StackOverflow - Qiita これはクロスサイト・リクエスト・フォージェリ対策。 違うよ!全然違うよ!攻撃者の作成した罠ページにてJSONをツイートする 続きを読む
CD-ROM トレイを取り出せる Chrome拡張、「chrome-eject」作った。 - 葉っぱ日記
Chrome 使ってると良く CD-ROM を取り出したくなりますよね。ならないとしたら、今すぐこの記事を読むのをやめて病院に行って下さい。hasegawayosuke/chrome-eject · GitHubhttps://github.com/hasegawayosuke/chrome-ejectインストールするとというアイコンが追加されるので、ボタンを押すだけで CD-ROM トレイがゲロ... 続きを読む
私はいかにして様々なブラウザの脆弱性を発見したか - 葉っぱ日記
脆弱性ってよく「の部分が脆弱」とか「すれば防げる」とか「を使うと悪用できる」みたいな感じで扱われるけど、どうやって見つけたかってあまり聞かないのは気のせいだろうか。fuzzingとかIDAなどで地道に追ってるのかな 2011-07-29 21:23:57 via Tween @murachue 野生の勘だよ! 2011-07-29 21:26:06 via web to @murachue 「どう... 続きを読む
JSONのエスケープをどこまでやるか問題 - 葉っぱ日記
Ajaxなアプリケーションにおいて、サーバからJSONを返す場合に、JSON自体はvalidであるにも関わらず、(IEの都合で)エスケープが不足していて脆弱性につながってる場合があるので、書いておきます。 発生するかもしれない脆弱性JSONのエスケープが不足している場合に発生する可能性のある脆弱性は以下の通りです。 JSON内に含まれる機密情報の漏えい XSSそれぞれの詳細については後述します。 ... 続きを読む
ブラウザでJavaScriptが動く時代がやってきた! - 葉っぱ日記
というわけで、昨日から話題沸騰の Javascript PC Emulator すごいですね。JavaScript で書かれた x86 PC エミュレータ上で Linux 動かして、入ってる tcc 使えばそこそこのソースもコンパイルして動いたり。もとのディスク容量が少ないので、適当な母艦を用意して、こんな感じ で新しいディスクイメージ作って、CocProxy や Fiddler の AutoRe... 続きを読む