Electronアプリでxssを発生させると任意のコードが実行できるらしいのでrm -fr /を試してみます。 想定 web版とelectron版のあるチャットアプリケーションという設定です。攻撃者が用意したリンクをクリックすると、PC内のすべてのファイルを消し去るというシチュエーションを考えてみます。 用意 環境はホストmac OSX、ゲストにubuntu14.04環境をvagrantを利用し用意しました。 expressでリストとフォームからなる脆弱性のあるチャットをつくります。エスケープ処理をしてないので、任意のコードが実行できる状況です。 'use strict'; const path = require('path'); const express = require('express'); const app = express(); const ejs = require(
Shibuya.XSS techtalk #7に参加してきたのでメモ 超絶技巧 CSRF - mala スライド: 超絶技巧CSRF / Shibuya.XSS techtalk #7 // Speaker Deck CSRFについて クロスサイトでリクエストを強制する脆弱性 書き込み パスワードの削除 未だによくある XSSは正しく書いていれば防げる CSRFは未だによくある CSRFは事後対処になりやすい 投票とか掲示板とか事後対処になりやすい リスクの高いCSRFの紹介 アカウント乗っ取り 危険なCSRF パスワードの変更 メールアドレスの変更 連携アカウント追加 OAuth2.0 + stateパラメータで防げる いろんなものにCSRFする JSONやXMLを送る form enctype=text/plainを使う CSRFでmemcached protocolとして解釈可能なも
そのうちもう少しきちんと書きますが、とりあえず時間がないので結論だけ書くと、タイトルが全てでElectronでアプリを書く場合は気合いと根性でXSSを発生させないようにしなければならない。 これまでWebアプリケーション上でXSSが存在したとしても、影響範囲はそのWebアプリケーションの中に留まるので、Webアプリケーションの提供側がそれを許容するのであればXSSの存在に目をつむることもできた。しかし、ElectronアプリでDOM-based XSSが一か所でも発生すると、(おそらく)確実に任意コード実行へとつながり、利用者のPCの(そのユーザー権限での)全機能が攻撃者によって利用できる。 そのため、Electronでアプリケーションを作成する開発者は気合いと根性でXSSを完全につぶさなければならない。 nodeIntegration:falseやContent-Security-Pol
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く