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
360
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
150
xlsx出力を Live reloadで(仮)
ooooooo_q
0
420
A-Frameを使って Mobile VRを公開する
ooooooo_q
1
390
nds_8_reftest.pdf
ooooooo_q
0
380
Other Decks in Technology
See All in Technology
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
260
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.5k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
How to Think Like a Performance Engineer
csswizardry
28
2.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
150
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
30 Presentation Tips
portentint
PRO
1
220
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
Practical Orchestrator
shlominoach
191
11k
Design in an AI World
tapps
0
140
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