Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
330
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
3.5k
@nestjs/bull の活用について
odanado
PRO
0
1.3k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.1k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
320
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
370
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
210
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
460
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.2k
Other Decks in Programming
See All in Programming
最近のVS Codeで気になるニュース 2025/01
74th
1
250
Rails アプリ地図考 Flush Cut
makicamel
1
110
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
660
Domain-Driven Transformation
hschwentner
2
1.9k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
240
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
130
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
360
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
110
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
41
15k
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
220
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
310
Writing Fast Ruby
sferik
628
61k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
How to Ace a Technical Interview
jacobian
276
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Thoughts on Productivity
jonyablonski
69
4.5k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
4 Signs Your Business is Dying
shpigford
182
22k
Site-Speed That Sticks
csswizardry
3
370
Side Projects
sachag
452
42k
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