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
Gitlab.comで見つけたXSSの話
Search
ooooooo_q
February 21, 2020
Technology
0
350
Gitlab.comで見つけたXSSの話
ooooooo_q
February 21, 2020
Tweet
Share
More Decks by ooooooo_q
See All by ooooooo_q
JSONをパースする.pdf
ooooooo_q
0
140
xlsx出力を Live reloadで(仮)
ooooooo_q
0
410
A-Frameを使って Mobile VRを公開する
ooooooo_q
1
380
nds_8_reftest.pdf
ooooooo_q
0
360
Other Decks in Technology
See All in Technology
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
10
5.1k
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
240
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
1
620
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
310
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
280
OPENLOGI Company Profile for engineer
hr01
1
46k
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
130
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
170
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
240
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
590
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
220
OpenCensusと歩んだ7年間
bgpat
0
300
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Producing Creativity
orderedlist
PRO
348
40k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
A better future with KSS
kneath
239
18k
Gamification - CAS2011
davidbonilla
81
5.5k
Typedesign – Prime Four
hannesfritz
42
2.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing Experiences People Love
moore
142
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Transcript
GITLAB.COMͰ ݟ͚ͭͨXSSͷ AgriNote Salad Bar #1 @ooooooo_q 1
ࠓऔΓͷΛ͠·͢ (ը૾: ͍Β͢ͱ: ՆٳΈͷΠϥετʮऔΓʯ) 2
औΓ? 3
BUG HUNTING? 4
#6(#06/5: όά㲈੬ऑੑͷใࠂͷड੍ ϒϥβɺϑϨʔϜϫʔΫɺݴޠɺ҉߸௨՟ɺଞʜ ใ͕ۚΒ͑Δͷ͕༗໊ άοζ͚ͩͱ͔ϙΠϯτ͚ͩͷ͜ͱ ϓϥοτϑΥʔϜ IUUQTIBDLFSPOFDPNEJSFDUPSZQSPHSBNT IUUQTCVHDSPXEDPNQSPHSBNT 5
ຊͰ .JYJ αΠϘζ 1JYJW -JOF $IBUXPSL ;BJN ଞ৭ʑ 6
#6()6/5*/(࣌ͷҙ ېࢭࣄ߲͕େମॻ͍ͯ͋ΔͷͰै͏ ଞͷϢʔβͷ໎ʹͳΔ͜ͱେېࢭ %P4ͱ͔ 044खΛ͚͍͢ खݩͰಈ࡞ͤ͞ΕଞʹӨڹ͕ग़ʹ͍͘ ͦΕ·Ͱݟ͔ͭͬͨͷमਖ਼͕Θ͔Δ 7
#6()6/5&3 ੬ऑੑใࠂΛߦ͏ۚՔ͗ ྑ͍ ࣗ༝ʹ͕࣌ؒऔΕΔ ඞཁͳίϛϡχέʔγϣϯྔଞͱൺͯগͳΊ ࣮ࡍʹηΩϡϦςΟͷษڧతͷਓ͕ଟ͍Β͍͠ ʢՔ͍Ͱ͍ΔਓՔ͍Ͱ͍Δ͕ʜʣ 8
ͪͳΈʹ ࣮ࡍͷͷۚՔ͗ͨ·ʹ͋Δ ϒϥοΫϋϯλʔʢΫϏΞΧπϠΧϛΩϦʣ IUUQXXXTBLBJJLJNPOPKQSFTVMU OFUFWFOUTLVCJBLB େࡕࡖࢢ 9
GITLAB 10
(*5-"# 11
(*5-"#$0.ͱ(*5-"#$&&& HJUMBCDPN ΫϥυαʔϏε ਵ࣌ߋ৽͞ΕΔ (JUMBC$&&& ΦϯϓϨϛε൛ ݄ͷϦϦʔε ͦΕҎ֎ʹQBUDI TFDVSJUZSFMFBTF 12
(*5-"#4&$63*5: ௨ৗͷϦϦʔεͱผʹηΩϡϦςΟ୯ಠͰϦϦʔε େ݄ ճ͋Δ ಁ໌ੑ͕ॏࢹ͞Ε͍ͯΔ ܦͭͱ੬ऑੑͷJTTVF͕ެ։͞ΕΔ ରԠ༰͕ެ։͞Ε͍ͯΔ͔ͱ͍͏ͱͦ͏Ͱͳ͍Α͏ ͚ͩͲίϛοτେମݕ౼ͭ͘ ੬ऑੑʹ$7&͕ൃߦ͞Ε͍ͯͯαϚϦॻ͔Ε͍ͯΔ 13
GITLAB BUG BOUNTY 14
(*5-"##6(#06/5: ݄͔ΒQVCJMDͰ͓͕ۚग़ΔΑ͏ʹͳͬͨ ळʹใۚͷֹ͕ഒʹ্͕ͬͨ 3$&ͳͲͰ͋Ε࠷ߴ 944Ͱ㲈ສԁҎ্ IUUQTIBDLFSPOFDPNHJUMBCɹ 15
(*5-"##6(#06/5: ɹɹ 16
← ͜͜·Ͱલఏͷઆ໌ 17
GITLAB.COMͰݟ͚ͭͨXSSͷ → 18
͋Δ (FNpMFͷද͕͓͔͍ࣔ͠ʜ 19
63-ͷࣗಈϦϯΫ HJUMBCDPNʹೖͬͨػೳ ϑΝΠϧͷதʹ͋Δ63-ͬΆ͍จࣈྻΛϦϯΫʹ͢Δػೳ ΫϥΠΞϯτଆͰͷϦϯΫԽ K2VFSZ 7VFKT (FNpMFQBDLBHFKTPOͷύοέʔδ໊ αʔόଆͰϦϯΫʹ͢Δػೳ͕Ҏલ͔Β͋Δ Bλάͷதͷ63-Λ͞ΒʹϦϯΫʹ͠Α͏ͱͯ͠͠·͏ 20
%06#-&-*/, Bͷଐੑʹผͷλά͕ೖΔ lz͕͔Ϳͬͯ͠·͍ɺ͔ͦ͜Β͖ͳλά͕ॻ͚Δ 21
XSS CSP 22
944 $SPTT4JUF4DSJQUJOH ఆ͍ͯ͠ͳ͍+BWB4DSJQUΛ࣮ߦͤ͞Δ ྫ͑ɺϒϥβͰϩάΠϯ͍ͯ͠Δͱ͖ ಉ͡υϝΠϯͷใΛऔಘͯ͠Ͳ͔͜ʹૹ৴ ΞΧϯτͬऔΓ +BWBTDSJQUͰՄೳͳ͜ͱେͰ͖Δ (JUMBCͰ944͕͋Δͷةݥ 23
944 24
$41 $POUFOU4FDVSJUZ1PMJDZ 944ͳͲΛ͙ػߏ આ໌Λॻ͕࣌ؒ͘ͳ͔ͬͨͷͰઆ໌ུ HJUMBCDPNͰϲ݄લʹ$41͕ద༻͞Εͨ 944͕ϒϩοΫ͞Εͨ ͔͠͠ɺ(JUMBC$&&&Ͱ·ͩద༻͞Ε͍ͯͳ͍ ϦϦʔε͞ΕͨΒةͳ͍ͣ 25
੬ऑੑΛใࠂ HJUMBCDPNͰͷ࠶ݱ݅Λଗ͑ͯIBDLFSPOFʹใࠂ IUUQTIBDLFSPOFDPNSFQPSUT τϦΞʔδ͞ΕΔ·Ͱि͙ؒΒ͍ͭ ʜ ͦͷؒʹ ໌Β͔ʹόάͩͬͨͷͰSFWFSU͞Εͨ ˠใۚͳ͠ ௨͍ͬͯͨΒ͓ͦΒ͘ʜ 26
3&7&35͠ͳ͍߹Ͳ͏ͳ͍͔ͬͯͨ ਖ਼نදݱͰͷରࡦ͔ͳΓ໘ ΫϥΠΞϯτଆͰ944ʹͳΓͦ͏ͳͭΛ͙ શ෦Ծ%0.ʹ͢Δͱ͔ʜ %0.Λશ෦֬ೝ͍ͯ͘͠ͱ͔ %PNQVSJGZΛೖΕΔ ʢ͔͠͠ɺCZQBTTՄೳʣ 27
(ը૾: ͍Β͢ͱ: ͱ༡ͿࢠڙͷΠϥετ) 28
29
͔͜͜Β͕࣌ؒ ༨ͬͨ࣌༻ 30
$41#:1"44 ผͷ(JUMBCͷใࠂͷதʹ͋ͬͨ IUUQTIBDLFSPOFDPNSFQPSUT KRVFSZVKTͰBMJOLλάͷઌΛBKBYͰऔͬͯ͘Δػೳ͕͋Δ EBUBSFNPUFͳͲͷଐੑ͕ॻ͔Ε͍ͯΔ߹ͷΈ (JUMBCͰKRVFSZͷBKBYTFUVQͰͳ͔ͥTDSJQUΛFWBM͢Δ෦͕͋Δ ߈ܸ༻ͷKTϑΝΠϧΛHJUMBCʹΞοϓϩʔυ BλάΛ࡞ͬͯKTϑΝΠϧΛࢦఆ͕Ͱ͖ͨ߹ ͦ͜ΛϢʔβʹΫϦοΫͤ͞ΔͱKTϑΝΠϧ͖࣮࣋ͬͯͯߦ IUNMJOKFDUJPO944͢Δͱ͕Ͱ͖ͯɺDTQCZQBTTͰ͖Δ
BλάͷEBUBYYY%PNQVSJGZͰ͔Εͳ͍ 31