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
1
830
不正クエリを検知するsqdを作った
Fukuoka.go#13+Okayama.go
https://fukuokago.connpass.com/event/112073/
Komei Nomura
February 12, 2019
Tweet
Share
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
1k
Kerasによるモデル構築 / Model-building-with-Keras
komei22
0
6.9k
ハンドメイド作品を対象としたECサイトにおける単語の出現頻度を用いた稀覯品の検出 / Detection of Rare Works Using Term Frequency on Electronic Commerce Site for Trading Handmade Works
komei22
1
920
Automatic Whitelist Generation for SQL Queries Using Web Application Tests
komei22
3
1.4k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法 / Automatic whitelist generation for SQL queries using web application tests
komei22
2
1.1k
ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report
komei22
2
1.7k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
6k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
1.5k
新卒研究員の研究開発 〜セキュアなWebサービスを目指して〜
komei22
0
1.8k
Other Decks in Technology
See All in Technology
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
230
Microsoft Learn MCP/Fabric データエージェント/Fabric MCP/Copilot Studio-簡単・便利なAIエージェント作ってみた -"Building Simple and Powerful AI Agents with Microsoft Learn MCP, Fabric Data Agent, Fabric MCP, and Copilot Studio"-
reireireijinjin6
1
190
Mambaで物体検出 完全に理解した
shirarei24
2
150
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
2
890
MCPと認可まわりの話 / mcp_and_authorization
convto
2
340
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
120
2025新卒研修・HTML/CSS #弁護士ドットコム
bengo4com
2
4k
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
150
Gemini in Android Studio - Google I/O Bangkok '25
akexorcist
0
100
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
350
AWS表彰プログラムとキャリアについて
naoki_0531
1
150
人と生成AIの協調意思決定/Co‑decision making by people and generative AI
moriyuya
0
230
Featured
See All Featured
Navigating Team Friction
lara
188
15k
GitHub's CSS Performance
jonrohan
1031
460k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Unsuck your backbone
ammeep
671
58k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Scaling GitHub
holman
461
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Code Review Best Practice
trishagee
69
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
182
54k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Making Projects Easy
brettharned
117
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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