Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
不正クエリを検知するsqdを作った
Komei Nomura
February 12, 2019
Technology
1
490
不正クエリを検知する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
140
Kerasによるモデル構築 / Model-building-with-Keras
komei22
0
5.3k
ハンドメイド作品を対象としたECサイトにおける単語の出現頻度を用いた稀覯品の検出 / Detection of Rare Works Using Term Frequency on Electronic Commerce Site for Trading Handmade Works
komei22
1
530
Automatic Whitelist Generation for SQL Queries Using Web Application Tests
komei22
3
710
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法 / Automatic whitelist generation for SQL queries using web application tests
komei22
2
600
ペパコンナイト:セキュリティWG成果報告 / pepacon night: security working group report
komei22
2
1.3k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
3.2k
Webアプリケーションテストを用いたSQLクエリのホワイトリスト自動作成手法
komei22
0
1k
新卒研究員の研究開発 〜セキュアなWebサービスを目指して〜
komei22
0
1.4k
Other Decks in Technology
See All in Technology
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
880
PCL (Point Cloud Library)の基本となぜ点群処理か_2023年_第2版.pdf
cvmlexpertguide
0
160
03_ユーザビリティテスト
kouzoukaikaku
0
400
ML PM, DS PMってどんな仕事をしているの?
line_developers
PRO
1
240
AWS Cloud Forensics & Incident Response
e11i0t_4lders0n
0
280
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
1.2k
Cloudflare Workersで動くOG画像生成器
aiji42
1
490
OPENLOGI Company Profile
hr01
0
12k
あつめたデータをどう扱うか
skrb
2
160
データ分析基盤の要件分析の話(202201_JEDAI)
yabooun
0
250
20230123_FinJAWS
takuyay0ne
0
120
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
0
240
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Debugging Ruby Performance
tmm1
67
11k
What’s in a name? Adding method to the madness
productmarketing
12
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
How to name files
jennybc
47
73k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
Web development in the modern age
philhawksworth
197
9.6k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
The Pragmatic Product Professional
lauravandoore
21
3.4k
Building Applications with DynamoDB
mza
85
5k
Fireside Chat
paigeccino
16
1.8k
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