Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dockerを使って OSコマンドインジェクションが出来るSlack botを作った話 ...
Search
odanado
PRO
November 02, 2016
Programming
1
450
Dockerを使って OSコマンドインジェクションが出来るSlack botを作った話 / os-command-injection-bot
odanado
PRO
November 02, 2016
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
5.1k
@nestjs/bull の活用について
odanado
PRO
0
1.5k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.2k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2.1k
nuxtjs-axios-error-handling
odanado
PRO
0
370
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
440
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
250
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
520
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
Other Decks in Programming
See All in Programming
認証・認可の基本を学ぼう後編
kouyuume
0
240
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
720
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
認証・認可の基本を学ぼう前編
kouyuume
0
250
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
4
870
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.8k
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
190
JETLS.jl ─ A New Language Server for Julia
abap34
1
400
Featured
See All Featured
Making Projects Easy
brettharned
120
6.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Practical Orchestrator
shlominoach
190
11k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Statistics for Hackers
jakevdp
799
230k
Raft: Consensus for Rubyists
vanstee
141
7.2k
4 Signs Your Business is Dying
shpigford
186
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Facilitating Awesome Meetings
lara
57
6.7k
Transcript
DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
1 DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
2 DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
Dockerͱ • ίϯςφܕԾԽΛߦ͏ιϑτΣΞ • 2013ʹొ • GoݴޠͰॻ͔Ε͍ͯΔ • ίϯςφͱԾOSͷ͜ͱ •
ҰͷϚγϯͰෳͷOS͕ಈ࡞͢Δ • Virtual BoxͳͲͷԾϚγϯͱগ͠ҧ͏ 3
Dockerͱ 4 ϕου ϕου ϕου τΠϨ ෩࿊ Ω ο ν
ϯ ҰݢՈ ཧϚγϯ ିϚϯγϣϯ ԾϚγϯ γΣΞϋε ίϯςφ *ࢀߟ: Docker࣮ઓ׆༻ ΨΠυ(ϚΠφϏग़൛)
Dockerͱ ίϯςφ ԾϚγϯ OSͷىಈ ͍ ͍ Ϧιʔεফඅ গͳ͍ ଟ͍ OSͷछྨ
LinuxͷΈ ͳΜͰ 5 ίϯςφ(Docker)ͱԾϚγϯ(Virtual Box)ͷൺֱ *ࢀߟ: Docker࣮ઓ׆༻ ΨΠυ(ϚΠφϏग़൛)
6 DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
7 DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
OSίϚϯυΠϯδΣΫγϣϯͱ • Ϣʔβ͔ΒͷೖྗΛड͚͚ΔWebαΠτͰ ϓϩάϥϜͷύϥϝʔλʹOSʹର͢Δ ίϚϯυΛฆΕͤͯ͞ෆਖ਼ૢ࡞͢Δ߈ܸ 8 ෆਖ਼ͳίϚϯυ ΫϥοΧʔ ੬ऑੑͷ͋Δ Webαʔό
ෆਖ਼ૢ࡞ ใ࿙Ӯ
OSίϚϯυΠϯδΣΫγϣϯͱ • ҙίϚϯυΛ࣮ߦ͞ΕΔͷॏେͳ੬ऑੑ • ύεϫʔυͷ࿙Ӯ • cat /etc/passwd • ൿີ伴ͷ࿙Ӯ
• cat ~/.ssh/id_rsa • αʔόͷσʔλશফ͠ • rm –rf / 9
10 DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
11 DockerΛͬͯ OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack botΛ࡞ͬͨ
Slack botͱ • Slackօ͞Μ͓ೃછΈͷνϟοτπʔϧ • botͱػցʹΑΔࣗಈൃݴγεςϜ • αʔϏε͔Βఏڙ͞Ε͍ͯΔAPIΛୟ͍ͯ࡞Δ • ࠓճPythonͷslackhq/python-rtmbotͱ͍͏
FrameworkΛͬͨ 12
Slack botͱ • ιʔείʔυ • https://github.com/odanado/slackbot-os- command-injection 13 OSίϚϯυΠϯδΣΫγϣϯ͕ ग़དྷΔSlack
botͷ͍Β͢ͱ
શମͷྲྀΕ 14 @͖Ͱ ίϚϯυૹ৴
σϞ • ͝ҰॹʹͲ͏ͧ • Կͯ͠େৎͰ͢ • ϋοΩϯά͠Α͏ʂʂ 15 ࣮ࡍʹOSίϚϯυΠϯδΣΫγϣϯΛ ߦ͍·͢
ࠓޙ • bashҎ֎ͷݴޠΛ࣮ߦͰ͖ΔΑ͏ʹͳΔ • Cݴޠ • Java • Python •
Ruby • PHP • DockerͷಛੑΛ׆͔ͯ͠෦αʔόΛ෦һ͕ ࣗ༝ʹ͑ΔΑ͏ʹ͠·͢ • ࡞ۀ͕Ε͍ͯͯ͏͠Β͕͔͔࣌ؒ͘Γ·͢ • ͝ΊΜͳ͍͞... 16
·ͱΊ • DockerίϯςφԾܕԽΛߦ͏πʔϧ • ߴʹىಈ͠ɼϦιʔεͷফඅྔ͕গͳ͍ • ͚ࣗͩͷڥ͕खʹೖΔ • OSίϚϯυΠϯδΣΫγϣϯॏେͳ੬ऑੑ •
ύεϫʔυͷ࿙Ӯσʔλվ᜵ͷةݥ • Slack botSlack্Ͱͷࣗಈൃݴπʔϧ • ࠓճPythonͷFrameworkΛͬͨ 17