{"id":57155,"date":"2024-09-20T16:16:37","date_gmt":"2024-09-20T16:16:37","guid":{"rendered":"https:\/\/packetstormsecurity.com\/news\/view\/36373\/Using-YouTube-To-Steal-Your-Files.html"},"modified":"2024-09-20T16:16:37","modified_gmt":"2024-09-20T16:16:37","slug":"using-youtube-to-steal-your-files","status":"publish","type":"post","link":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/","title":{"rendered":"Using YouTube To Steal Your Files"},"content":{"rendered":"<p>In my security research I often come across weird quirks and behaviours that aren\u2019t particularly useful beyond a neat party trick. It\u2019s always a good idea to keep track of them though, perhaps one day they\u2019ll be just the missing piece you need.<\/p>\n<div class=\"slds\">\n<div class=\"sldsH\" readability=\"6\">\n<div class=\"sldsHlt\" readability=\"7\"> <span class=\"sldsHtitle\" contenteditable=\"plaintext-only\">Untitled presentation<\/span><\/p>\n<p> <span>File<\/span><span>Edit<\/span><span>View<\/span><span>Insert<\/span><span>Format<\/span><span>Slide<\/span><span>Arrange<\/span><span>Tools<\/span><span>Extensions<\/span><span>Help<\/span> <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"sldsBody\">\n<div class=\"sldsSideLeft over640\">\n<div class=\"sldsFilmEntry\">\n<p>1<\/p>\n<div class=\"sldsFilmSlide\" readability=\"6\">\n<div readability=\"7\">\n<p>Click to add title<\/p>\n<p>Click to steal your files<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"sldsMain\" readability=\"31\">\n<div class=\"sldsSlide\" readability=\"7\">\n<p>Click to add title<\/p>\n<p>Click to steal your files<!--Click to add subtitle--><\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p><\/p>\n<h2 id=\"part-1-cat-videos\">Part 1: Cat videos<\/h2>\n<p>Who doesn\u2019t love cat videos?<\/p>\n<p>Google Slides has this neat feature that lets you add YouTube videos to your presentations. Just open up the video picker, look for your favorite clip, and add it onto a slide.<\/p>\n<p>What appears is an iframe that links to <span class=\"urlBox\"><a href=\"https:\/\/www.youtube.com\/embed\/%7bVIDEOID%7d\">www.youtube.com\/embed\/{VIDEOID}<\/a><\/span> with your cute cat video playing inside of it. Pretty neat! But can we do anything beyond just playing a video?<\/p>\n<p>Looking at the network traffic, it seems like adding a video onto a slide will send Slides the videoid, which it then uses to construct the embed URL for the iframe. We can\u2019t control the full URL, just the videoid part. Can we still do something?<\/p>\n<p>The obvious thing to try here is path traversal &#8211; if we change the videoid to <strong>..\/<\/strong>, the full url will be <span class=\"urlBox\"><a href=\"https:\/\/www.youtube.com\/embed\/..\/\">www.youtube.com\/embed\/..\/<\/a><\/span>, which should turn into just <span class=\"urlBox\"><a href=\"https:\/\/www.youtube.com\/\">www.youtube.com\/<\/a><\/span>, leading us straight to the YouTube home page. Let\u2019s try it!<\/p>\n<div class=\"genericContainer\">\n<div class=\"sldsMain\">\n<div class=\"sldsSlide\" readability=\"6\">\n<div class=\"iframeError\" readability=\"7\"> <svg width=\"11\" height=\"14\" fill=\"#ACACAC\" version=\"1.1\"> <rect y=\"0\" width=\"9\" height=\"1\" \/> <rect y=\"1\" width=\"1\" height=\"13\" \/> <rect x=\"1\" y=\"13\" width=\"10\" height=\"1\" \/> <rect x=\"10\" y=\"2\" width=\"1\" height=\"11\" \/> <rect x=\"9\" y=\"1\" width=\"1\" height=\"1\" \/> <rect x=\"6\" y=\"1\" width=\"1\" height=\"4\" \/> <rect x=\"7\" y=\"4\" width=\"3\" height=\"1\" \/> <rect x=\"3\" y=\"3\" width=\"1\" height=\"2\" \/> <rect x=\"3\" y=\"10\" width=\"1\" height=\"1\" \/> <rect x=\"4\" y=\"9\" width=\"3\" height=\"1\" \/> <rect x=\"7\" y=\"10\" width=\"1\" height=\"1\" \/> <\/svg> <\/p>\n<p><b>www.youtube.com<\/b> refused to connect.<\/p>\n<p> <!-- By default this \"refused to connect\" text should only be visible if you're hovering over it with your mouse, but I decided for the sake of clarity it'd be good to have the message visible at all times for the blogpost. --> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>To my surprise, it worked! We now have the YouTube homepage within this Slides iframe\u2026 or at least an error page representing it. YouTube, like most modern webapps, disallows framing most of its pages to prevent clickjacking attacks. Of course, the <strong>\/embed\/<\/strong> page is an exception because that page is intended to be embedded on other sites, but are there any other interesting <strong>www.youtube.com<\/strong> pages we could frame?<\/p>\n<p>I looked into it for a bit, and found a bunch of framable resources on <strong>\/s\/<\/strong>. We can have stuff like YouTube\u2019s emoji and css\/js source code inside of a presentation! Unfortunately, it doesn\u2019t seem very useful for now, it\u2019s just a fun trick we can do.<\/p>\n<h2 id=\"part-2-redirects\">Part 2: Redirects<\/h2>\n<p>Open redirects are a genre of \u201cvulnerabilities\u201d that can redirect you to any other page. For example, visiting <strong><a href=\"https:\/\/www.google.com\/url?q=https:\/\/lyra.horse\">google.com\/url?q=https:\/\/lyra.horse<\/a><\/strong><sup id=\"fnref:1\"><\/sup> will take you to <strong><a href=\"https:\/\/lyra.horse\">lyra.horse<\/a><\/strong>. They are <a href=\"https:\/\/bughunters.google.com\/learn\/invalid-reports\/web-platform\/navigation\/6680364896223232\/open-redirectors\">rarely considered<\/a> to be real vulnerabilities because their impact is very limited &#8211; you\u2019ll just be redirected from one page to another.<\/p>\n<p>Yet, as we\u2019re stuck in an iframe on <strong>youtube.com<\/strong>, an open redirect would be pretty lovely. Being able to navigate this Slides iframe to any website of our choice would let us do some very interesting stuff. So let\u2019s find one!<\/p>\n<p>The first obvious place to look would be the external links around the site &#8211; such as the ones in video descriptions and comments. And indeed, clicking a link in the description of a video redirects us through a special <strong>\/redirect<\/strong> endpoint:<\/p>\n<p>The redirect works for now, but you\u2019ll notice it has a <em>redir_token<\/em> parameter &#8211; this parameter is some sort of a token for redirects that\u2019s unique to your session. If someone else opened the same link, they\u2019d see this page instead:<\/p>\n<div class=\"genericContainer\" readability=\"6.4988814317673\">\n<div class=\"urlBar\">\n<div class=\"urlBarInner\"><span class=\"urlBarText\"><span class=\"urlBarDomain\">youtube.com<\/span>\/redirect?event=video_description&amp;redir_token=QUFFLUhqbjdTaFRBeHRfSW95bkJDVmRGcl96VXV6MkNmd3xBQ3Jtc0tuOVg2b2ZsQVV6V3hpaUJfdXB0UWY2Z1A1bE1sUjlQeHZ4WlVYSzNVUXZBcUF0RFYzNHhLazVUUVFQM1Y5N3VGZEV4bmtCVWhmYXRwY05KWlEyY0w3ZHBBdDY5SEtBa1hpQXBkalpqT3liYzFqYVZxSQ&amp;q=https%3A%2F%2Flyra.horse%2F&amp;v=tbYxAFHnzG0<\/span><\/div>\n<\/div>\n<div class=\"defSelect\" readability=\"6.9280575539568\"> <!-- I admit, this YouTube logotype looks quite goofy with the fonts and CSS I used. --> <\/p>\n<p>Are you sure you want to leave YouTube?<\/p>\n<p>The link is taking you to a site outside of YouTube (<b>lyra.horse<\/b>).<\/p>\n<\/p><\/div>\n<\/div>\n<p>It\u2019d be difficult to convince someone to click through a page like that &#8211; and even so, we still wouldn\u2019t be able to use it inside of our cross-origin iframe due to it having the <em>x-frame-options<\/em> header set to <em>SAMEORIGIN<\/em>.<\/p>\n<p>The next obvious place to look for open redirects is usually the authentication flow of a website &#8211; generally sites want to return you to the same page you were on before logging in. It\u2019s no different for YouTube, logging into a Google account takes you back to the page you were originally on. This is achieved through the <strong>\/signin<\/strong> endpoint:<\/p>\n<p>This endpoint does redirects without using a verification token! We can just specify an url of our choice in the <em>next<\/em> parameter and it\u2019ll work. Let\u2019s try it out with my website.<\/p>\n<div class=\"ytErr\">\n<!-- I'm reusing the CSS for the URL bar from my Telegram blog post, but this time I added a mobile theme for smaller screens to make it more cute! Also hover animations! --><\/p>\n<div class=\"urlBar\">\n<div class=\"urlBarInner\"><span class=\"urlBarText\"><span class=\"urlBarDomain\">youtube.com<\/span>\/signin?next=https:\/\/lyra.horse\/<\/span><\/div>\n<\/div>\n<div class=\"ytAlert defSelect\">\n<div class=\"ytAlertContent\">\n<ul>\n<li>Invalid url forwarding parameter<\/li>\n<li>Sorry, your login was incorrect.<\/li>\n<\/ul><\/div>\n<\/div><\/div>\n<p>Oh, seems like it doesn\u2019t let us do an open redirect after all. Next I tried <strong>google.com<\/strong> &#8211; still the same error. I tried <strong>youtube.com<\/strong>\u2026 and once again, the same error?<\/p>\n<p>I then realized that I had fogotten the subdomain &#8211; <strong>www.youtube.com<\/strong> does in-fact work with the redirect. And soon enough I discovered the redirects to work with any YouTube subdomain &#8211; <strong>music.youtube.com<\/strong> and <strong>admin.youtube.com<\/strong> both worked! We\u2019re still stuck on YouTube\u2019s domains, but at least we now have a bit more attack surface to work with.<\/p>\n<h2 id=\"part-3-re-redirects\">Part 3: Re-redirects<\/h2>\n<p>That <strong>\/signin<\/strong> redirect wasn\u2019t the only one I found though &#8211; there was another one present on a different YouTube subdomain:<\/p>\n<p>This one seems to be for Google account logins. For example, if you log in on <strong>google.ee<\/strong>, you\u2019d get redirected through <strong>accounts.google.com<\/strong> and <strong>accounts.youtube.com<\/strong> to update the cookies on both of those domains. I played around with it a little and found that while it once again wasn\u2019t a full open redirect, it did allow a variety of Google\u2019s own domains in the <em>continue<\/em> parameter, including services such as Docs.<\/p>\n<p>If we could redirect our iframe to <strong>docs.google.com<\/strong> it\u2019d open up a lot of possibilities. Google Docs is built in a way where most of its pages set the <em>x-frame-options<\/em> header to <em>SAMEORIGIN<\/em>, meaning that we\u2019re not supposed to be able to frame those pages on other websites. However, with such a redirect in place, we\u2019d end up with a same-origin iframe within Slides, allowing us to frame pages we\u2019re not supposed to, and do cool stuff to them!<\/p>\n<p>Let\u2019s try chaining our previous path-traversed <strong>\/signin<\/strong> redirect to the new <strong>accounts.youtube.com<\/strong> one and see if we can make it embed Docs pages within itself.<\/p>\n<div class=\"slds\">\n<div class=\"sldsH\" readability=\"6\">\n<div class=\"sldsHlt\" readability=\"7\"> <span class=\"sldsHtitle\" contenteditable=\"plaintext-only\">Untitled presentation<\/span><\/p>\n<p> <span>File<\/span><span>Edit<\/span><span>View<\/span><span>Insert<\/span><span>Format<\/span><span>Slide<\/span><span>Arrange<\/span><span>Tools<\/span><span>Extensions<\/span><span>Help<\/span> <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"sldsBody\">\n<div class=\"sldsMain\">\n<div class=\"sldsSlide\">\n<div class=\"slds\">\n<div class=\"sldsH\" readability=\"6\">\n<div class=\"sldsHlt\" readability=\"7\"> <span class=\"sldsHtitle\" contenteditable=\"plaintext-only\">Untitled presentation<\/span><\/p>\n<p> <span>File<\/span><span>Edit<\/span><span>View<\/span><span>Insert<\/span><span>Format<\/span><span>Slide<\/span><span>Arrange<\/span><span>Tools<\/span><span>Extensions<\/span><span>Help<\/span> <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"sldsBody\">\n<div class=\"sldsMain\">\n<div class=\"sldsSlide\">\n<div class=\"slds\">\n<div class=\"sldsH\" readability=\"6\">\n<div class=\"sldsHlt\" readability=\"7\"> <span class=\"sldsHtitle\" contenteditable=\"plaintext-only\">Untitled presentation<\/span><\/p>\n<p> <span>File<\/span><span>Edit<\/span><span>View<\/span><span>Insert<\/span><span>Format<\/span><span>Slide<\/span><span>Arrange<\/span><span>Tools<\/span><span>Extensions<\/span><span>Help<\/span> <\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>And meow &#8211; Docs inside Docs!! So epic!<\/p>\n<h2 id=\"part-4-okay-but-what-now\">Part 4: Okay but what now?<\/h2>\n<p>So we have Docs inside of Docs, which is incredibly fun for a few minutes, but can we actually do anything useful with this? I played around with the Docs homepage for a bit, but the only interesting interaction I managed to find is deleting a document, and that\u2019s something you could restore from trash anyways. We\u2019ll need to find something more impactful on the Docs domain.<\/p>\n<p>You might think that the document editing pages themselves would be useful, but those pages already have protections in place because they\u2019re already (intentionally) framable on external websites. If a page detects that it is within an iframe, it\u2019ll disable a lot of the dangerous functionality, such as the sharing options of the document.<\/p>\n<p>This part here is what actually took me the longest to figure out. I spent a while looking for anything interesting on the <strong>docs.google.com<\/strong> domain to frame and clickjack. Looking through the Wayback Machine<sup id=\"fnref:2\"><\/sup> and trying various Google dorks<sup id=\"fnref:3\"><\/sup>, I kept finding a bunch of old endpoints that would\u2019ve been useful in the past, but now just redirect to Google Drive, which we cannot frame.<\/p>\n<p>Going through link after link, I eventually stumbled upon this url: <span class=\"urlBox\">docs.google.com\/file\/d\/{ID}\/edit<\/span>. This page lets us preview and perform actions (such as sharing) on Google Drive files, and unlike the other links I found earlier, it stays on the <strong>docs.google.com<\/strong> domain instead of redirecting to Drive. And not only does it work with Drive files, it also works with folders and other such entities (such as Google Sites pages). You could even open up your Drive\u2019s \u201cRoot\u201d folder<sup id=\"fnref:4\"><\/sup> with it!<\/p>\n<div class=\"genericContainer\">\n<div class=\"urlBar\">\n<div class=\"urlBarInner\"><span class=\"urlBarText\"><span class=\"urlBarDomain\">docs.google.com<\/span>\/file\/d\/0ALK4w9WgXcQUUk9PVA\/edit<\/span><\/div>\n<\/div>\n<div class=\"filePg defSelect\">\n<p>No preview available<\/p>\n<\/p><\/div>\n<\/div>\n<p>The page has a share button that stays enabled even within an iframe. If we can trick someone into clicking the Share button, typing in our e-mail, and changing the permissions on some important folder, we\u2019ll gain access to it.<\/p>\n<h2 id=\"part-5-but-can-we\">Part 5: But can we?<\/h2>\n<p>But let\u2019s do a reality check &#8211; can we <em>really<\/em> trick someone into performing all those actions? Maybe, if we try hard enough, but even with all our iframing and clickjacking abilities it\u2019s going to take a lot to convince someone to do all that. I don\u2019t think the VRP panel<sup id=\"fnref:5\"><\/sup> would be very impressed with <em>this<\/em> much reliance on social engineering. We must find a way to make it more convincing &#8211; ideally condensing it down to just a single click.<\/p>\n<p>Thinking of ways to improve the attack, I remembered the feature in Drive that lets you request access to other people\u2019s documents. Doing so sends out an e-mail with a cool little button to immediately manage the permissions.<\/p>\n<div class=\"genericContainer defSelect\" readability=\"5.767366720517\">\n<div class=\"gmailTable\" id=\"gmailTable1\"> <label for=\"gmailInfoCheck\"><\/p>\n<p>\u00d7<\/p>\n<p><\/label> <\/p>\n<table readability=\"4.8442367601246\">\n<tr readability=\"2\">\n<td>from:<\/td>\n<td><b>Lyra Rebane (via Google Drive)<\/b> &lt;drive-shares-dm-noreply@google.com&gt;<\/td>\n<\/tr>\n<tr readability=\"2\">\n<td>reply-to:<\/td>\n<td>Lyra Rebane &lt;lyra.horse<wbr>@gmail.com&gt;<\/td>\n<\/tr>\n<tr>\n<td>to:<\/td>\n<td>lyra.horse<wbr>@gmail.com<\/td>\n<\/tr>\n<tr>\n<td>date:<\/td>\n<td>Sep 19, 2024, 10:30\u202fAM<\/td>\n<\/tr>\n<tr readability=\"2\">\n<td>subject:<\/td>\n<td>Share request for &#8220;Secret Folder&#8221;<\/td>\n<\/tr>\n<tr readability=\"2\">\n<td>mailed-by:<\/td>\n<td>doclist.bounces.<wbr>google.com<\/td>\n<\/tr>\n<tr>\n<td>signed-by:<\/td>\n<td>google.com<\/td>\n<\/tr>\n<tr readability=\"1.6\">\n<td>security:<\/td>\n<td>???? Standard encryption (TLS) <a href=\"https:\/\/blog.aegrel.ee\/\">Learn more<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div readability=\"7\">\n<p>Share request for &#8220;Secret Folder&#8221;<\/p>\n<p>Inbox<\/p>\n<p><label id=\"inboxBtn2\" for=\"gmailInboxCheck\"><\/p>\n<p>\u00d7<\/p>\n<p><\/label><\/div>\n<div readability=\"6\">\n<div readability=\"7\">\n<p><b>Lyra Rebane (via Google Drive)<\/b> &lt;drive-shares-dm-noreply@google.com&gt;<\/p>\n<\/p><\/div>\n<p><span class=\"over560\">Sep 19th, 2024, <\/span>10:30 AM<\/p>\n<\/p><\/div>\n<div>\n<p>Share a folder?<\/p>\n<div readability=\"7\">\n<div readability=\"9\">\n<p>Lyra Rebane (lyra.horse<wbr>@gmail.com) is <b>requesting access<\/b> to the following folder:<\/p>\n<p>hi pls give access kthxbye<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div><span class=\"folderIcon\"><\/span><\/p>\n<p>Secret Folder<\/p>\n<\/div>\n<p> <a href=\"https:\/\/docs.google.com\/file\/d\/1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL\/edit?usp=sharing_esp&amp;userstoinvite=lyra.horse@gmail.com&amp;sharingaction=manageaccess&amp;role=writer&amp;ts=66e724ba\"><\/p>\n<p>Manage sharing<\/p>\n<p><\/a> <\/div>\n<\/div>\n<p>The button in that e-mail links to <span class=\"urlBox\"><a href=\"https:\/\/drive.google.com\/drive\/folders\/%7bID%7d?usp=sharing_esp&amp;userstoinvite=lyra.horse@gmail.com&amp;sharingaction=manageaccess&amp;role=writer&amp;ts=66e724ba\">https:\/\/drive.google.com\/drive\/folders\/{ID}?usp=sharing_esp&amp;userstoinvite=lyra.horse@gmail.com&amp;sharingaction=manageaccess&amp;role=writer&amp;ts=66e724ba<\/a><br \/>\n<\/span>, which when opened, pops up the Share dialog with a notification of the request. Of course, that\u2019s a Drive link, not a Docs one, but I tried copying all of the query parameters over to our Docs link and that seemed to do the trick!<\/p>\n<div class=\"genericContainer\">\n<div class=\"urlBar\">\n<div class=\"urlBarInner\"><span class=\"urlBarText\"><span class=\"urlBarDomain\">docs.google.com<\/span>\/file\/d\/1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL\/edit?usp=sharing_esp&amp;userstoinvite=lyra.horse@gmail.com&amp;sharingaction=manageaccess&amp;role=writer&amp;ts=66e724ba<\/span><\/div>\n<\/div>\n<div class=\"filePg defSelect\">\n<div class=\"filePgH\">\n<div class=\"filePgName\"><span class=\"folderIcon\"><\/span>Secret Folder<\/div>\n<p>Open with<\/p>\n<\/p><\/div>\n<div class=\"filePgO\">\n<div class=\"shareDlg\" readability=\"5.9825581395349\">\n<div id=\"shareDlgReview1\" readability=\"6.9674418604651\"> <a href=\"https:\/\/www.youtube.com\/watch?v=yD2FSwTy2lw\" title=\"no one's around to help\"><\/a> <\/p>\n<p>Share &#8220;Secret Folder&#8221;<\/p>\n<p>Lyra Rebane asked to be an editor<span><label for=\"reviewDialog\">Review<\/label><\/span><span class=\"over480\">\u2716<\/span><\/p>\n<p> <input class=\"shareDlgTbox shareDlgBbox\" placeholder=\"Add people, groups, and calendar events\"> <\/p>\n<p>People with access<\/p>\n<div class=\"shareDlgEntry shareDlgEntryH\">\n<div>\n<p>Lyra Rebane (you)<\/p>\n<p>lyra.horse@gmail.com<\/p>\n<\/div>\n<p>Owner<\/p>\n<\/div>\n<p>General access<\/p>\n<div class=\"shareDlgEntry shareDlgEntryH\" readability=\"31\">\n<div readability=\"7\">\n<div class=\"shareDlgDrop over360\">Restricted<\/div>\n<p>Only people with access can open with the link<\/p>\n<\/div>\n<\/div>\n<div>\n<p>Copy link<\/p>\n<p>Done<\/p>\n<\/div><\/div>\n<div id=\"shareDlgReview2\" readability=\"6\"> <label for=\"reviewDialog\"><\/label> <\/p>\n<p>Request for access<\/p>\n<div class=\"shareDlgEntry\" readability=\"31\">\n<div readability=\"7\">\n<p>Lyra Rebane asked to be an editor<\/p>\n<p>lyra.horse@gmail.com<\/p>\n<\/div>\n<\/div>\n<div readability=\"7\">\n<p>hi pls give access kthxbye<\/p>\n<p> <input class=\"shareDlgTbox shareDlgBbox\" placeholder=\"Message\"> <\/p>\n<div>\n<p>Decline<\/p>\n<p>Share<\/p>\n<\/div><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>In its current state, this page requires us to make two clicks to complete the attack &#8211; first a click on the \u201cReview\u201d label, and then a click on the \u201cShare\u201d button (try <span class=\"fineText\">clicking<\/span><span class=\"coarseText\">tapping<\/span> \u201c<span><label for=\"reviewDialog\">Review<\/label><\/span>\u201d above). That\u2019s already quite good, but I still <em>really<\/em> wanted to get the entire attack down to just one click.<\/p>\n<p>I pulled out my DevTools and began digging through the JavaScript of the page to see how the query parameters are handled. As a simple test, I started off with just the <em>userstoinvite<\/em> query parameter.<\/p>\n<div class=\"genericContainer\">\n<div class=\"urlBar\">\n<div class=\"urlBarInner\"><span class=\"urlBarText\"><span class=\"urlBarDomain\">docs.google.com<\/span>\/file\/d\/<span class=\"over720\">1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL<\/span><span class=\"under720\">&#8230;<\/span>\/edit?userstoinvite=lyra.horse@gmail.com<\/span><\/div>\n<\/div>\n<div class=\"filePg defSelect\">\n<div class=\"filePgH\">\n<div class=\"filePgName\"><span class=\"folderIcon\"><\/span>Secret Folder<\/div>\n<p>Open with<\/p>\n<\/p><\/div>\n<div class=\"filePgO\">\n<div class=\"shareDlg\"> <a href=\"https:\/\/www.youtube.com\/watch?v=6XFX8hL6YdI\" title=\"there's no one in moominvalley to help\"><\/a> <\/p>\n<p>Share &#8220;Secret Folder&#8221;<\/p>\n<div>\n<div class=\"shareDlgBbox\">\n<div class=\"shareDlgBubble\">\n<p>L<\/p>\n<p>Lyra Rebane<span class=\"over360\">\u2716<\/span><\/div>\n<\/div>\n<\/div>\n<p><input id=\"notifyChk2\" type=\"checkbox\" checked><label for=\"notifyChk2\">Notify people<\/label><\/p>\n<p> <textarea class=\"shareDlgTbox shareDlgBbox\" placeholder=\"Message\"><\/textarea> <\/p>\n<div>\n<p>Cancel<\/p>\n<p>Send<\/p>\n<\/div><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>And wow!? I had accidentally stumbled upon the perfect share dialog URL. For some reason, leaving out all the other query parameters makes the share dialog just auto-fill the e-mail field from the query parameter, defaulting to giving out <em>Editor<\/em> permissions.<\/p>\n<p>Pretty much all we need to do here is convince someone to do a single click on the ambiguously labeled \u201cSend\u201d button, and we\u2019re set!<\/p>\n<h2 id=\"part-6-re-re-redirects\">Part 6: Re-re-redirects<\/h2>\n<p>I began putting the attack together, combining all the cool tricks we\u2019ve come up with so far.<\/p>\n<ol>\n<li>We first take cool little docs invite url.<br \/><span class=\"urlBox\">https:\/\/docs.google.com\/file\/d\/1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL\/edit?userstoinvite=lyra.horse@gmail.com<\/span><\/li>\n<li>Then we put it inside the <b>accounts.youtube.com<\/b> redirect.<br \/><span class=\"urlBox\">https:\/\/accounts.youtube.com\/accounts\/SetSID?continue=<span>https%3A%2F%2Fdocs.google.com%2Ffile%2Fd%2F1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL%2Fedit%3Fuserstoinvite%3Dlyra.horse%40gmail.com<\/span><\/span><\/li>\n<li>Then we put <i>that<\/i> into the <b>youtube.com\/signin<\/b> redirect.<br \/><span class=\"urlBox\">https:\/\/www.youtube.com\/signin?next=<span>https%3A%2F%2Faccounts.youtube.com%2Faccounts%2FSetSID%3Fcontinue%3D<span>https%3A%2F%2Fdocs.google.com%252Ffile%252Fd%252F1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL%252Fedit%253Fuserstoinvite%253Dlyra.horse%2540gmail.com<\/span><\/span><\/span><\/li>\n<li>And finally, we turn it into a path traversed &#8220;videoid&#8221; we can embed in our slides.<br \/><span class=\"urlBox\">..\/signin?next=https%3A%2F%2Faccounts.youtube.com%2Faccounts%2FSetSID%3Fcontinue%3Dhttps%3A%2F%2Fdocs.google.com%252Fa%252Fa%252Ffile%252Fd%252F1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL%252Fedit%253Fuserstoinvite%253Dlyra.horse%2540gmail.com<\/span><\/li>\n<\/ol>\n<p>And there we go! I threw it in my slides and\u2026<\/p>\n<div class=\"genericContainer\">\n<div class=\"sldsMain\">\n<div class=\"sldsSlide\">\n<div>\n<div class=\"needAccess\">\n<div readability=\"5.241935483871\">\n<p><span><span>G<\/span><span>o<\/span><span>o<\/span><span>g<\/span><span>l<\/span><span>e<\/span><\/span> Drive<\/p>\n<p>You need access<\/p>\n<div class=\"needAccessText\" readability=\"22.669565217391\"><a href=\"https:\/\/docs.google.com\/presentation\/d\/10LlimFowOJ_noDrJsv4CnRgU8XoUKRAa6YjTeJFrs70\/edit\">Open the document directly<\/a> to see if requesting access is possible, or switch to an account with access. <a href=\"https:\/\/www.youtube.com\/watch?v=Hh9iFc5Sdso\">Learn more<\/a><\/div>\n<div class=\"needAccessSignedAs\"> You are signed in as <\/p>\n<div><span>lyra.horse@gmail.com<\/span><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>\u2026it didn\u2019t work, why?<\/p>\n<p>It seems like Docs has some sort of a mitigation in place that prevents me from using a cross-site redirect for the file page within an iframe. More precisely, it checks for the <em>Sec-Fetch-Dest<\/em> and and <em>Sec-Fetch-Site<\/em> headers, and if they\u2019re both set to <em>iframe<\/em> and <em>cross-site<\/em> respectively, we get a 403 back. Pretty weird.<\/p>\n<p>I got the opportunity to chat with a couple security people from Google, so I asked about this behavior, and it seems like this is some sort of a mitigation to prevent cross-origin framing on the server-side. I\u2019m still not entirely sure as to what threat scenario it\u2019d be useful in, but the idea is that an iframe can tell whether it\u2019s on a same-origin page or not from just the <em>Sec-Fetch-Site<\/em> header. On a cross-origin page, the header will <em>always<\/em> be set to <em>cross-site<\/em>, even if the redirect within the iframe is same-origin.<\/p>\n<p>Of course, that could be detected more reliably on the client-side with JavaScript and whatnot, but the headers are the only way for a server to tell <em>before<\/em> sending out a response. A side-effect of the server-side detection is that even though both our frames are same-origin, a cross-origin redirect within the iframe will still end up with the <em>cross-site<\/em> header. To bypass <em>that<\/em>, we need to perform a same-origin redirect inside of the iframe.<\/p>\n<p>To put it simply, we\u2019re currently doing:<\/p>\n<p><span class=\"urlBox\">accounts.youtube.com<\/span> <span>(cross-site)<\/span> \u2192 <span class=\"urlBox\">docs.google.com\/file\/d\/\u2026\/edit<\/span> <span>(403)<\/span><\/p>\n<p>so to bypass that, we want to chain a redirect like this:<\/p>\n<p><span class=\"urlBox\">accounts.youtube.com<\/span> <span>(cross-site)<\/span> \u2192 <span class=\"urlBox\">docs.google.com\/???<\/span> <span>(same-origin)<\/span> \u2192 <span class=\"urlBox\">docs.google.com\/file\/d\/\u2026\/edit<\/span> <span>(200)<\/span><\/p>\n<p>and it should work! But we have to find something that\u2019d work for that part in the middle. And lucky for us, I had already spotted something like that in my googling earlier.<\/p>\n<p>It seems like there\u2019s an old legacy GSuite URL format of <strong>docs.google.com\/a\/&lt;domain&gt;\/\u2026<\/strong>, which probably did something useful years ago (edit: and still does<sup id=\"fnref:6\"><\/sup>), but these days just disappears when you open an URL. If you\u2019re logged out, you must find some working donor URL to use, such as <strong>\/a\/wyo.gov\/<\/strong><sup id=\"fnref:7\"><\/sup>, but logged in you can even do <strong>\/a\/a\/<\/strong> and it\u2019ll just work.<\/p>\n<p>Here are a couple of example URLs to try out.<\/p>\n<p>This one should work regardless of your login state:<\/p>\n<p>And this one requires that you be logged into any Google account:<\/p>\n<p>Both will end up redirecting to <span class=\"urlBox\"><a href=\"https:\/\/docs.google.com\/file\/d\/10LlimFowOJ_noDrJsv4CnRgU8XoUKRAa6YjTeJFrs70\/edit\">https:\/\/docs.google.com\/file\/d\/10LlimFowOJ_noDrJsv4CnRgU8XoUKRAa6YjTeJFrs70\/edit<\/a><\/span>.<\/p>\n<p>With that figured out, let\u2019s throw the <strong>\/a\/a\/<\/strong> thing into our \u201cvideoid\u201d from earlier:<br \/>\n<span class=\"urlBox\">..\/signin?next=https%3A%2F%2Faccounts.youtube.com%2Faccounts%2FSetSID%3Fcontinue%3Dhttps%3A%2F%2Fdocs.google.com%252Ffile%252Fd%252F1sHy3aQXsIlnOCj-mBFxQ0ZXm4TzjjfFL%252Fedit%253Fuserstoinvite%253Dlyra.horse%2540gmail.com<\/span><\/p>\n<div class=\"genericContainer\">\n<div class=\"sldsMain\">\n<div class=\"sldsSlide\">\n<div>\n<div>\n<div class=\"filePg defSelect\">\n<div class=\"filePgO\">\n<div class=\"shareDlg\">\n<p>Share &#8220;Secret Folder&#8221;<\/p>\n<div>\n<div class=\"shareDlgBbox\">\n<div class=\"shareDlgBubble\">\n<p>L<\/p>\n<p>Lyra Rebane<span class=\"over360\">\u2716<\/span><\/div>\n<\/div>\n<\/div>\n<p><input id=\"notifyChk2\" type=\"checkbox\" checked><label for=\"notifyChk2\">Notify people<\/label><\/p>\n<p> <textarea class=\"shareDlgTbox shareDlgBbox over480\" placeholder=\"Message\"><\/textarea> <\/p>\n<div>\n<p>Cancel<\/p>\n<p>Send<\/p>\n<\/div><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p>And it works!<\/p>\n<p><!--\nI wanted to throw a fun Sheets-style table here, but ended up scrapping the idea.\nFeel free to uncomment to see what it looked like in its WIP state :).\n\n\n<div class=\"sheetsTbl\">\n\n\n<table> \n\n<thead> \n\n<tr> \n\n<th scope=\"col\"><\/th>\n\n \n\n<th scope=\"col\">A<\/th>\n\n \n\n<th scope=\"col\">B<\/th>\n\n \n\n<th scope=\"col\">C<\/th>\n\n <\/tr>\n\n <\/thead>\n\n \n\n<tbody> \n\n<tr> \n\n<th scope=\"row\">1<\/th>\n\n \n\n<td>Sec-Fetch-Dest\/Site<\/td>\n\n \n\n<td>document<\/td>\n\n \n\n<td>iframe<\/td>\n\n <\/tr>\n\n \n\n<tr> \n\n<th scope=\"row\">2<\/th>\n\n \n\n<td>same-origin<\/td>\n\n \n\n<td>\u2705<\/td>\n\n \n\n<td>\u2705<\/td>\n\n <\/tr>\n\n \n\n<tr> \n\n<th scope=\"row\">3<\/th>\n\n \n\n<td>cross-site<\/td>\n\n \n\n<td>\u2705<\/td>\n\n \n\n<td>\u274c<\/td>\n\n <\/tr>\n\n <\/tbody>\n\n\n<\/table>\n\n\n<\/div>\n\n\n\n\n<style> .sheetsTbl { width: 100%; overflow: hidden; } .sheetsTbl table { background: #FFF; color: #000; font-family: \"Google Sans\", Roboto, RobotoDraft, Helvetica, Arial, sans-serif; border-collapse: collapse; } .sheetsTbl th, .sheetsTbl td, .sheetsTbl tr { border: solid 1px #E1E1E1; } .sheetsTbl th { max-width: 100px; width: calc(min(20vw, 100px)); } .sheetsTbl th:first-child { min-width: 45px; width: 45px; background: #F00; } .sheetsTbl .sheetsTblFiller { min-width: 100px; max-width: 100px; }\n<\/style>\n\n\n--><\/p>\n<h2 id=\"part-7-finishing-touches\">Part 7: Finishing touches<\/h2>\n<p>With our share dialog inside a presentation, all we need to do now is cover it up with other stuff to make it look presentable. Since all we need to do here is get someone to click the \u201cSend\u201d button, I decided to make my demo look like Google Forms.<\/p>\n<div class=\"genericContainer\">\n<div class=\"sldsMain\">\n<div class=\"sldsSlide\" readability=\"6\">\n<div id=\"formContainer\" readability=\"7\">\n<div>\n<div>\n<p>Cancel<\/p>\n<p>Send<\/p>\n<\/div><\/div>\n<div id=\"formOverlay\">\n<div readability=\"6\">\n<div>\n<p>Never submit passwords<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>This content is neither created nor endorsed by Google.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>And we\u2019re done! It looks like a Google Forms page, but it has a \u201ccutout\u201d for the \u201cSend\u201d button in the Share dialog below. If clicked, it\u2019ll immediately share <em>Editor<\/em> permissions for the targeted file\/folder with whatever e-mail we specified. To send this attack to someone we can replace the <strong>\/edit<\/strong> with <strong>\/present<\/strong> in the Slides url to have it open and \u201cplay\u201d the slide direcly.<\/p>\n<p>And there we go, a one-click clickjacking attack that chains a Google Slides YouTube embed path traversal to three separate redirects to gain editor access on a Drive file\/folder!<\/p>\n<p>I reported this vulnerability chain to Google on the 1st of July 2024, and got it triaged &amp; confirmed on the same day! 10 days later, on the 11th of July, the VRP panel awarded me with a reward of <span>$3133.70<\/span> + <span>$1000<\/span> bonus, totalling <span>$4133.70<\/span>. Sweet!<\/p>\n<h2 id=\"afterword\">afterword<\/h2>\n<p>thank you for reading, you\u2019re awesome!!<\/p>\n<p><!-- https:\/\/tallinn.bsides.ee\/2024\/ --><\/p>\n<p>i tried to keep this writeup condensed because i\u2019m also presenting my research with additional story elements at <a href=\"https:\/\/tallinn.bsides.ee\/\">bsides tallinn 2024<\/a> the same day this blogpost goes out. i hope it goes well! i\u2019m not sure when the bsides talk recordings will be released (keep an eye on <a href=\"https:\/\/www.youtube.com\/@bsidestallinn427\/videos\">this channel<\/a>), but for now you can check out <a href=\"https:\/\/docs.google.com\/presentation\/d\/10LlimFowOJ_noDrJsv4CnRgU8XoUKRAa6YjTeJFrs70\/edit\">the slides<\/a>!<\/p>\n<p>as with my previous posts, everything on the page is just html\/css crafted with love. no images, javascript, or other external resources, and just 31kB gzipped (that\u2019s 5 seconds over dial-up)! it takes a lot of time and effort compared to just throwing screenshots on the page, but i think it\u2019s really fun to have a blogpost come to life like that, with interactivity and all. and it\u2019s responsive!<\/p>\n<p>i hope this writeup is conherent and interesting to read, the attack chain involves quite a few elements so the article is all over the place at times, you can always feel free to ask me any questions if anything\u2019s unclear ^^<\/p>\n<p>love you all &lt;3!<\/p>\n<p><strong>Discuss this post on:<\/strong> <a href=\"https:\/\/twitter.com\/rebane2001\/status\/1836653696639271329\">twitter<\/a>, <a href=\"https:\/\/infosec.exchange\/@rebane2001\/113162802490491321\">mastodon<\/a>, <a href=\"https:\/\/lobste.rs\/s\/fjixgp\/using_youtube_steal_your_files\">lobsters<\/a> (rip cohost :c)<\/p>\n<p> READ MORE <a href=\"https:\/\/packetstormsecurity.com\/news\/view\/36373\/Using-YouTube-To-Steal-Your-Files.html\">HERE<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>READ MORE HERE&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","footnotes":""},"categories":[60],"tags":[5379],"class_list":["post-57155","post","type-post","status-publish","format-standard","hentry","category-packet-storm","tag-headlinehackerflawgoogle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using YouTube To Steal Your Files 2026 | ThreatsHub Cybersecurity News<\/title>\n<meta name=\"description\" content=\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security &amp; Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using YouTube To Steal Your Files 2026 | ThreatsHub Cybersecurity News\" \/>\n<meta property=\"og:description\" content=\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security &amp; Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/\" \/>\n<meta property=\"og:site_name\" content=\"ThreatsHub Cybersecurity News\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-20T16:16:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"432\" \/>\n\t<meta property=\"og:image:height\" content=\"435\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TH Author\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@threatshub\" \/>\n<meta name=\"twitter:site\" content=\"@threatshub\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TH Author\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/\"},\"author\":{\"name\":\"TH Author\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/person\\\/12e0a8671ff89a863584f193e7062476\"},\"headline\":\"Using YouTube To Steal Your Files\",\"datePublished\":\"2024-09-20T16:16:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/\"},\"wordCount\":3181,\"publisher\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\"},\"keywords\":[\"headline,hacker,flaw,google\"],\"articleSection\":[\"Packet Storm\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/\",\"name\":\"Using YouTube To Steal Your Files 2026 | ThreatsHub Cybersecurity News\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#website\"},\"datePublished\":\"2024-09-20T16:16:37+00:00\",\"description\":\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/using-youtube-to-steal-your-files\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"headline,hacker,flaw,google\",\"item\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/tag\\\/headlinehackerflawgoogle\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Using YouTube To Steal Your Files\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\",\"name\":\"ThreatsHub Cybersecurity News\",\"description\":\"%%focuskw%% Threat Intel \u2013 Threat Intel Services \u2013 CyberIntelligence \u2013 Cyber Threat Intelligence - Threat Intelligence Feeds - Threat Intelligence Reports - CyberSecurity Report \u2013 Cyber Security PDF \u2013 Cybersecurity Trends - Cloud Sandbox \u2013- Threat IntelligencePortal \u2013 Incident Response \u2013 Threat Hunting \u2013 IOC - Yara - Security Operations Center \u2013 SecurityOperation Center \u2013 Security SOC \u2013 SOC Services - Advanced Threat - Threat Detection - TargetedAttack \u2013 APT \u2013 Anti-APT \u2013 Advanced Protection \u2013 Cyber Security Services \u2013 Cybersecurity Services -Threat Intelligence Platform\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\"},\"alternateName\":\"Threatshub.org\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\",\"name\":\"ThreatsHub.org\",\"alternateName\":\"Threatshub.org\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Threatshub_Favicon1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Threatshub_Favicon1.jpg\",\"width\":432,\"height\":435,\"caption\":\"ThreatsHub.org\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/threatshub\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/person\\\/12e0a8671ff89a863584f193e7062476\",\"name\":\"TH Author\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"caption\":\"TH Author\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using YouTube To Steal Your Files 2026 | ThreatsHub Cybersecurity News","description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/","og_locale":"en_US","og_type":"article","og_title":"Using YouTube To Steal Your Files 2026 | ThreatsHub Cybersecurity News","og_description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","og_url":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/","og_site_name":"ThreatsHub Cybersecurity News","article_published_time":"2024-09-20T16:16:37+00:00","og_image":[{"width":432,"height":435,"url":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","type":"image\/jpeg"}],"author":"TH Author","twitter_card":"summary_large_image","twitter_creator":"@threatshub","twitter_site":"@threatshub","twitter_misc":{"Written by":"TH Author","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/#article","isPartOf":{"@id":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/"},"author":{"name":"TH Author","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/person\/12e0a8671ff89a863584f193e7062476"},"headline":"Using YouTube To Steal Your Files","datePublished":"2024-09-20T16:16:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/"},"wordCount":3181,"publisher":{"@id":"https:\/\/www.threatshub.org\/blog\/#organization"},"keywords":["headline,hacker,flaw,google"],"articleSection":["Packet Storm"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/","url":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/","name":"Using YouTube To Steal Your Files 2026 | ThreatsHub Cybersecurity News","isPartOf":{"@id":"https:\/\/www.threatshub.org\/blog\/#website"},"datePublished":"2024-09-20T16:16:37+00:00","description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","breadcrumb":{"@id":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.threatshub.org\/blog\/using-youtube-to-steal-your-files\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.threatshub.org\/blog\/"},{"@type":"ListItem","position":2,"name":"headline,hacker,flaw,google","item":"https:\/\/www.threatshub.org\/blog\/tag\/headlinehackerflawgoogle\/"},{"@type":"ListItem","position":3,"name":"Using YouTube To Steal Your Files"}]},{"@type":"WebSite","@id":"https:\/\/www.threatshub.org\/blog\/#website","url":"https:\/\/www.threatshub.org\/blog\/","name":"ThreatsHub Cybersecurity News","description":"%%focuskw%% Threat Intel \u2013 Threat Intel Services \u2013 CyberIntelligence \u2013 Cyber Threat Intelligence - Threat Intelligence Feeds - Threat Intelligence Reports - CyberSecurity Report \u2013 Cyber Security PDF \u2013 Cybersecurity Trends - Cloud Sandbox \u2013- Threat IntelligencePortal \u2013 Incident Response \u2013 Threat Hunting \u2013 IOC - Yara - Security Operations Center \u2013 SecurityOperation Center \u2013 Security SOC \u2013 SOC Services - Advanced Threat - Threat Detection - TargetedAttack \u2013 APT \u2013 Anti-APT \u2013 Advanced Protection \u2013 Cyber Security Services \u2013 Cybersecurity Services -Threat Intelligence Platform","publisher":{"@id":"https:\/\/www.threatshub.org\/blog\/#organization"},"alternateName":"Threatshub.org","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.threatshub.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.threatshub.org\/blog\/#organization","name":"ThreatsHub.org","alternateName":"Threatshub.org","url":"https:\/\/www.threatshub.org\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","contentUrl":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","width":432,"height":435,"caption":"ThreatsHub.org"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/threatshub"]},{"@type":"Person","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/person\/12e0a8671ff89a863584f193e7062476","name":"TH Author","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","caption":"TH Author"}}]}},"_links":{"self":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts\/57155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/comments?post=57155"}],"version-history":[{"count":0,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts\/57155\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/media?parent=57155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/categories?post=57155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/tags?post=57155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}