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
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gitlab.comで見つけたXSSの話
ooooooo_q
February 21, 2020
More Decks by ooooooo_q
See All by ooooooo_q
JSONをパースする.pdf
ooooooo_q
0
160
xlsx出力を Live reloadで(仮)
ooooooo_q
0
430
A-Frameを使って Mobile VRを公開する
ooooooo_q
1
410
nds_8_reftest.pdf
ooooooo_q
0
400
Other Decks in Technology
See All in Technology
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
130
AIエージェントに財布を渡す日 ― 承認付き"買い物エージェント"を作って実演
yama3133
1
110
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.4k
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
200
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
310
SmartHR Engineering Team Deck
smarthr
0
130
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
140
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
120
変化の早いClaude Codeを 書籍に落とし込む
oikon48
5
900
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
280
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.3k
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
2
400
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Music & Morning Musume
bryan
47
7.3k
Building the Perfect Custom Keyboard
takai
2
830
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
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