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
不正クエリを検知するsqdを作った
Search
Komei Nomura
February 12, 2019
Technology
880
1
Share
不正クエリを検知するsqdを作った
Fukuoka.go#13+Okayama.go
https://fukuokago.connpass.com/event/112073/
Komei Nomura
February 12, 2019
More Decks by Komei Nomura
See All by Komei Nomura
さくらのクラウドでのcloud-initの実装と利用例の紹介 / Implementation of cloud-init in SAKURA Cloud and introduction of usage examples
komei22
3
1.3k
Kerasによるモデル構築 / Model-building-with-Keras
komei22
0
7.1k
ハンドメイド作品を対象としたECサイトにおける単語の出現頻度を用いた稀覯品の検出 / Detection of Rare Works Using Term Frequency on Electronic Commerce Site for Trading Handmade Works
komei22
1
970
Automatic Whitelist Generation for SQL Queries Using Web Application Tests
komei22
3
1.5k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法 / Automatic whitelist generation for SQL queries using web application tests
komei22
2
1.2k
ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report
komei22
2
1.8k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
6.1k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
1.6k
新卒研究員の研究開発 〜セキュアなWebサービスを目指して〜
komei22
0
1.9k
Other Decks in Technology
See All in Technology
MLOps導入のための組織作りの第一歩
akasan
0
320
Code Interpreter で、AIに安全に コードを書かせる。
yokomachi
0
7k
AIエージェントの権限管理 2: データ基盤の Fine grained access control 編
ren8k
0
120
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
880
扱える不確実性を増やしていく - スタートアップEMが考える「任せ方」
kadoppe
0
290
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
23k
"SQLは書けません"から始まる データドリブン
kubell_hr
2
470
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
AIエージェントの権限管理 1: MCPサーバー・ツールの Fine grained access control 編
ren8k
3
490
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
560
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
No Types Needed, Just Callable Method Check
dak2
1
810
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
520
Embracing the Ebb and Flow
colly
88
5k
30 Presentation Tips
portentint
PRO
1
270
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
210
A Modern Web Designer's Workflow
chriscoyier
698
190k
Are puppies a ranking factor?
jonoalderson
1
3.3k
Design in an AI World
tapps
0
190
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
Balancing Empowerment & Direction
lara
6
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
220
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
ଜ໋ / Pepabo R&D Institute, GMO Pepabo, Inc. 2019.02.12 Fukuoka.go#13
ෆਖ਼ΫΤϦΛݕ͢ΔsqdΛ࡞ͬͨ
2 ΤϯδχΞ ଜ໋!,PNFJ (.0ϖύϘגࣜձࣾɹϖύϘݚڀॴ
ෆਖ਼ΫΤϦΛݕ͢Δsqd
ෆਖ਼ΫΤϦͬͯԿʁԿ͕ͳͷ͔ʁ
• ෆਖ਼ΫΤϦͱʁ • WebΞϓϦέʔγϣϯͷ੬ऑੑΛར༻ͯ͠σʔλϕʔεʹൃߦ͞ΕΔΫΤϦ • SQLΠϯδΣΫγϣϯʹΑͬͯൃߦ͞ΕΔΫΤϦͳͲ • ෆਖ਼ΫΤϦԿΛҾ͖ى͜͢ʁ • σʔλϕʔε্ͷػີใͷ࿙Ӯ
• σʔλϕʔεͷվ᜵ɾফڈ 5 ෆਖ਼ΫΤϦʹ͍ͭͯ ෆਖ਼ΫΤϦ͕ൃߦ͞Εͨ͜ͱΛݕ͍ͨ͠
• sqdɼϗϫΠτϦετϕʔεͰɼΫΤϦϩά͔Βෆਖ਼ΫΤϦΛݕ 6 sqd TREIUUQTHJUIVCDPN,PNFJTRE 8FCΞϓϦέʔγϣϯͷ ΫΤϦϩά w ΫΤϦ" w
ΫΤϦ# w ΫΤϦ$ TRE ϗϫΠτϦετ ΫΤϦΛϗϫΠτϦετͱর߹ ϗϫΠτϦετʹͳ͔ͬͨ ΫΤϦΛग़ྗ w ΫΤϦ" w ΫΤϦ# ΫΤϦ$
7 sqdʹΑΔෆਖ਼ΫΤϦݕ $ cat whitelist SELECT * FROM users WHERE
id = ? $ cat query.log | jq -r .query SELECT * FROM users WHERE id = 1 SELECT * FROM users WHERE id = 2 SELECT * FROM users DROP TABLE users ϗϫΠτϦετ ݕରͷΫΤϦ܈ ϦςϥϧϓϨʔεϗϧμʔʹ͢Δ $ cat query.log | jq -r .query | sqd -W whitelist SELECT * FROM users DROP TABLE users ݕ͞ΕͨΫΤϦ ϗϫΠτϦετϑΝΠϧΛࢦఆ ݕରͷΫΤϦ܈Λೖྗ
sqdϗϫΠτϦετΛͪΌΜͱఆٛͰ͖Ε ɼෆਖ਼ΫΤϦΛݕͰ͖Δ
ͰɼϗϫΠτϦετ࡞ΔͷେมͳͷͰʁ
• ߴ͍ਫ਼Ͱෆਖ਼ΫΤϦΛݕ͢ΔʹɼWebΞϓϦέʔγϣϯ͕ൃߦ͠ಘΔΫ ΤϦΛશͯϗϫΠτϦετʹఆٛ͠ͳ͚ΕͳΒͳ͍ • WebΞϓϦέʔγϣϯ͕ൃߦ͠ಘΔΫΤϦେ • WebΞϓϦέʔγϣϯ͕վम͞Εͨ߹ɼΫΤϦ͕มԽ͢ΔՄೳੑ͋Γ • ORMͬͯͨΒɼࣗͰSQLΛॻ͘͜ͱ͕গͳ͍ 10
ϗϫΠτϦετ࡞ͷ͠͞
11 IUUQTTQFBLFSEFDLDPNLPNFJXFCBQVSJLFTJZPOUFTVUPXPZPOHJUBTRMLVFSJGBMTFIPXBJUPSJTVUP[JEPOH [VPDIFOHTIPVGBFCDGCDFBFBEDF
• ෆਖ਼ΫΤϦʹΑͬͯσʔλϕʔε্ͷػີใͷ࿙Ӯɼվ᜵ɼফڈ͕ൃੜ • ϗϫΠτϦετϕʔεͰෆਖ਼ΫΤϦͷݕΛߦ͏sqdΛհ • sqdͰɼϗϫΠτϦετ࡞͕ॏཁ͚ͩͲ͍͠ • ϗϫΠτϦετ࡞ʹؔͯ͠ɼจݚڀձͰͷൃදࢿྉΛ͝ཡ͍ͩ͘͞ 12 ·ͱΊ
จɿIUUQTSBOEQFQBCPDPNQBQFSTJPUTLPNFJQEG
None