2015-01-01から1年間の記事一覧

Electronでアプリを書く場合は、気合いと根性でXSSを発生させないようにしなければならない。

そのうちもう少しきちんと書きますが、とりあえず時間がないので結論だけ書くと、タイトルが全てでElectronでアプリを書く場合は気合いと根性でXSSを発生させないようにしなければならない。これまでWebアプリケーション上でXSSが存在したとしても、影響範囲…

JavaScriptでbaseを指定して相対URLを絶対URLに変換する

メモがわり。 baseとなるURLを指定して相対URLを絶対URLに変換するには、ChromeやFireofxではURLUtilsを用いて以下のように書くことで簡単に実現できる。 var absolute = (new URL( "foo", "http://example.jp/bar/baz" ) ).href; // http://example.jp/bar/…

Host:リクエストヘッダによるXSS

本日、とある会合にてTwitterで交わされていたこの会話が話題になりました。紹介されている例はHostヘッダの操作を経路とする攻撃ということであり、Hostヘッダインジェクションという脆弱性はないと思いますよ / “PHPにおけるHostヘッダインジェクション脆…

Windowsのエクスプローラーからさくっとファイルのハッシュ値を調べる

以下の内容を test.reg などのファイル名で保存し、regファイルをダブルクリックしてレジストリに結合する。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\MD5] @="MD&5をコピー" [HKEY_CLASSES_ROOT\*\shell\MD5\command] @="cmd /c c…

セキュリティ・キャンプ全国大会2015資料まとめ

セキュリティ・キャンプ全国大会2015の講義で使用された資料のまとめ。公開されていない講義が多いので、すべての講義資料があるわけではありません。随時追加。 高レイヤートラック Webプラットフォームのセキュリティ JavaScript難読化読経 HTTP/2, QUIC入…

ブラウザ上でMarkdownを安全に展開する

不特定のユーザーが入力したMarkdownをブラウザ上でJavaScriptを使ってHTMLに変換するという場面においては、JavaScriptで変換してHTMLを生成するという処理の都合上どうしてもDOM-based XSSの発生を考えないわけにはいかない。かといって、Markdownをパース…

ECMAScript テンプレートリテラル

(自分用メモ) ES6のテンプレートリテラルを使うと、HTML生成におけるテンプレート的なものがJavaScriptでも書きやすくなる。 function safeHtml(){ var t = arguments[ 0 ].raw; var result = t[ 0 ]; for( var i = 1; i < arguments.length; i++ ){ result …