video thumbnail 18:57
Script Gadgets! Google Docs XSS Vulnerability Walkthrough

2020-07-31

[public] 122K views, 7.28K likes, 53.0 dislikes audio only

channel thumbLiveOverflow

A very interesting Cross-site Scripting Issue in gDocs Spreadsheets. I get a chance to talk to the bug hunter Nick, as well as Google engineers to understand both sides. How did he find it? And why did this vulnerability exist in the first place?

Nickolay: https://thisisqa.com/

The video is sponsored by Google's VRP: https://www.google.com/about/appsecurity/reward-program/

00:00 - Introduction

00:53 - Following reproduction steps

02:13 - What is postMessage()?

03:04 - Script Gadget: the hlc() function

03:30 - Script Gadget: ui.type instantiation

04:22 - Vulnerability summary

05:12 - Nick's focus on gviz

06:47 - Script Gadget: chartType injection

08:09 - Script Gadget: drawFromUrl exploit technique

08:57 - chartType injection fix

10:13 - Code refactoring cause of XSS

11:12 - How to find ui.type option?

14:04 - What to do with ui.type Script Gadgets?

15:13 - Why does hlc() exist?!

15:40 - JSONP sandbox

17:16 - Nick's background story

=[ ā¤ļø Support ]=

→ per Video: https://www.patreon.com/join/liveoverflow

→ per Month: https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w/join

=[ šŸ• Social ]=

→ Twitter: https://twitter.com/LiveOverflow/

→ Website: https://liveoverflow.com/

→ Subreddit: https://www.reddit.com/r/LiveOverflow/

→ Facebook: https://www.facebook.com/LiveOverflow/


Introduction
/youtube/video/aCexqB9qi70?t=0
Following reproduction steps
/youtube/video/aCexqB9qi70?t=53
What is postMessage()?
/youtube/video/aCexqB9qi70?t=133
Script Gadget: the hlc() function
/youtube/video/aCexqB9qi70?t=184
Script Gadget: ui.type instantiation
/youtube/video/aCexqB9qi70?t=210
Vulnerability summary
/youtube/video/aCexqB9qi70?t=262
Nick's focus on gviz
/youtube/video/aCexqB9qi70?t=312
Script Gadget: chartType injection
/youtube/video/aCexqB9qi70?t=407
Script Gadget: drawFromUrl exploit technique
/youtube/video/aCexqB9qi70?t=489
chartType injection fix
/youtube/video/aCexqB9qi70?t=537
Code refactoring cause of XSS
/youtube/video/aCexqB9qi70?t=613
How to find ui.type option?
/youtube/video/aCexqB9qi70?t=672
What to do with ui.type Script Gadgets?
/youtube/video/aCexqB9qi70?t=844
Why does hlc() exist?!
/youtube/video/aCexqB9qi70?t=913
JSONP sandbox
/youtube/video/aCexqB9qi70?t=940
Nick's background story
/youtube/video/aCexqB9qi70?t=1036
LiveOverflow just a wannabe hacker... making videos about various IT security topics and participating in hacking competitions. -=[ ā¤ļø Support me ]=- Patreon per Video: https://www.patreon.com/join/liveoverflow YouTube Membership per Month: https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w/join -=[ šŸ“„ Imprint ]=- Security Flag GmbH Celsiusstr. 72 12207 Berlin Germany
/youtube/channel/UClcE-kVhqyiHCcjYwcpfj9w
I’m moving, no videos sorry 17,538 views
/youtube/video/9CS3q0uG1LI
Patreon patreon.com
https://www.patreon.com/join/liveoverflow
How did Masato find the Google Search XSS? 156,273 views
/youtube/video/gVrdE6g_fa8