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
730
不正クエリを検知する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
1
680
Kerasによるモデル構築 / Model-building-with-Keras
komei22
0
6.5k
ハンドメイド作品を対象としたECサイトにおける単語の出現頻度を用いた稀覯品の検出 / Detection of Rare Works Using Term Frequency on Electronic Commerce Site for Trading Handmade Works
komei22
1
790
Automatic Whitelist Generation for SQL Queries Using Web Application Tests
komei22
3
1.2k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法 / Automatic whitelist generation for SQL queries using web application tests
komei22
2
930
ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report
komei22
2
1.6k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
5.6k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
1.3k
新卒研究員の研究開発 〜セキュアなWebサービスを目指して〜
komei22
0
1.7k
Other Decks in Technology
See All in Technology
歴史と背景から改めて振り返るVPC
shotashiratori
2
220
手軽に始める? おうちサーバーのすゝめ
nyagasan
0
190
Datadog を使ったプロダクトとクラウドの セキュリティモニタリング
mrtc0
0
590
20分で分かるIAM全機能 (拡大版) / 20240903-jawsug-yokohama-iam
opelab
3
140
疎通2024
sadnessojisan
5
900
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
430
RAGHack: Kickoff and RAG 101
pamelafox
0
280
MySQLユーザ会なにやってるの?とおさそいと / たいへんなのw
sakaik
1
130
目標設定と習慣化で今よりも一歩生産性を上げる
sansantech
PRO
7
2.4k
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
210
LLM を現場で評価する
asei
4
700
Oracle Autonomous Database:サービス概要のご紹介
oracle4engineer
PRO
1
6.9k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
The Cost Of JavaScript in 2023
addyosmani
40
5.2k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
Embracing the Ebb and Flow
colly
83
4.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
34
1.9k
How to train your dragon (web standard)
notwaldorf
85
5.6k
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