DoubleClickjacking: A New type of web hacking technique

(paulosyibelo.com)

134 points | by shinzub 4 days ago

18 comments

  • denuoweb 4 minutes ago
    Lots of people suggesting that double click here means to click the mouse twice quickly but I believe it refers to clicking submit (once), then clicking the pop up button (once), to get two total clicks.
  • maxrmk 9 hours ago
    This is clever, and I got a good laugh out of their example video. The demo UI of "Double click here" isn't very convincing - I bet there's a version of this that gets people to double click consistently though.
    • seanwilson 4 hours ago
      Why stop at double-click? "Click here 10 times quickly to confirm you're human". Or some kind of clicker game.
      • temporallobe 3 hours ago
        Like in reCAPTCHA (v2 at least) where it asks users to click on tiles to identify common objects like bridges or motorcycles. Surely one could conjure up a fake version of this.
    • chatmasta 7 hours ago
      The exploit would be more effective if it obfuscated the UI on the authorization (victim) page. Right now, even if you double click a convincing button, it’s extremely obvious that you just got duped (no pun intended).

      Sure, maybe the attacker can abuse the access privileges before you have a chance to revoke them. But it’s not exactly a smooth clickjacking.

      I’d start by changing the dimensions of the parent window (prior to redirecting to victim) to the size of the button on the target page - no need to show everything around it (assuming you can make it scroll to the right place). And if the OAuth redirects to the attacker page, it can restore the size to the original.

      Back in the day, this trick was used for clickjacking Digg upvotes.

      • joshfraser 6 hours ago
        You can change the visibility of the target page so they wouldn't know
        • chatmasta 4 hours ago
          How? You don't control the DOM on that. You can adjust the window prior to changing its location but that's it.
          • pockmarked19 2 hours ago
            It’s an HN truth, it means it needs no evidence or explanation.
    • bee_rider 7 hours ago
      Hmm. I guess it is never impossible that there’s a version of something that will trick people consistently. But, I’m kinda struggling to recall a time I’ve needed to double click on a website.

      Actually the double-click action is pretty rare nowadays, right? In particular, I use it a lot to select a word in a terminal, but most of the time when I am getting UI instructions it is from a website about how to use the website itself, and since that’s a website it has to be abstract enough to also make sense for mobile users.

      Telling people to double click is, I think, mostly dead.

      • foobazgt 7 hours ago
        My mother constantly struggles between when to double click or not after decades of using computers. This is probably an issue that will die out with her generation, though.

        Entirely separate, a common failure mode of dying mice is that they start generating spurious clicks. I've had a couple of logitechs do this to me. And the thing about scams is you can often legit make money off of very low success rates.

        • JadeNB 6 hours ago
          > Entirely separate, a common failure mode of dying mice is that they start generating spurious clicks.

          Speaking of things dying out, it's been so long since I used anything but a trackpad that I thought at first this was some strange claim about rodents!

      • chatmasta 7 hours ago
        It doesn’t need to be a literal double click. It could be something like a CAPTCHA “confirm you’re human,” where you click once, it appears to load, and then you click a confirm button. Do it fast enough and it might appear like a double click.

        Not sure this would work with the exploit though.

      • hansvm 4 hours ago
        YouTube gets me to double-click on occasion:

        - The page mostly loads

        - An ad starts playing

        - I attempt to hit "pause" while I go handle a thing or two [0]

        - As I'm about to click "pause", the layout shifts to the left exactly enough for me to unmute the ad

        - I immediately click again to stop listening to whatever scam is currently being peddled

        [0] For some videos I like to read the description before watching. For all videos I like to make it as obvious as possible to Google that there isn't a real person watching the ad (browser not focused, ad muted, ...).

      • dylan604 6 hours ago
        Google drive and similar sites use double click for folders to open similar to a regular OS would. Single click tends to show some metadata where the double click does the actual navigation.

        it pisses me off

  • joshfraser 6 hours ago
    Back in 2013 I discovered that you could use clickjacking to trick someone into buying anything you wanted from Amazon (assuming they were signed in). It took them almost a year to fix the issue. They never paid me a bounty.

    https://onlineaspect.com/2014/06/06/clickjacking-amazon-com/

    • superq 5 hours ago
    • paulpauper 4 hours ago
      Bug bounties are kind of a joke. they will invent almost any reason to not pay. it has to be something where the site is malfunctioning, not CSS tricks, which has to do with the browser , not the vendor. Clickjacking can work on any site, not just Amazon.
  • efortis 3 days ago
    I think the suggested mitigation will only work when the user double-clicks without moving the mouse.

    So I'd try adding a small timeout when the tab is visible:

      document.addEventListener("visibilitychange", () => {
        if (!document.hidden)
          setTimeout(enableButtons, 200)
      })
    • efortis 7 hours ago
      and `disableButtons` on `document.hidden`
  • cryptonector 53 minutes ago
    And this is a great reason to us Firefox's containers feature.
  • lapcat 1 hour ago
    It appears that you can replace double-click with command-click, and listen for keydown rather than mousedown.
  • jmull3n 1 hour ago
    This would be super effective as a form submit button that doesn’t respond, tricking the user into rage clicking
  • sharpshadow 10 hours ago
    New fear unlocked lazy cookie consent banners.
  • Dwedit 4 hours ago
    In other words, a social engineering attack to trick people into authorizing something they did not want to authorize.

    Related XKCD: https://www.explainxkcd.com/wiki/index.php/2415:_Allow_Captc...

  • Vortigaunt 7 hours ago
    Thankfully this shouldn't become a large problem, because websites simply don't load that quick
    • joshfraser 6 hours ago
      It could be preloaded
      • cryptonector 54 minutes ago
        I understood GP's joke, but I don't understand yours.
  • gwbas1c 8 hours ago
    I'm a little skeptical that this is a real exploit.

    When I watched the Salesforce video, the exploit was demonstrated by pointing the browser at a file on disk, not on a public website. I also don't understand the "proof," IE, something showed up in the salesforce inbox, but I don't understand how that shows that the user was hacked. It appears to be an automated email from an identity provider.

    I also don't understand when the popup is shown, and what the element is when the popup is closed.

    Some slow-mo with highlighting on the fake window, and the "proof of exploit," might make this easier to understand and demonstrate

    • akersten 8 hours ago
      It's also not a novel threat model. For example prior art, the browser confirmation dialogs in Firefox at least don't enable their buttons until the window has had focus for 500ms or so. Possibly to avoid inadvertently unintentionally clicking "run" on a recently downloaded item, but it solves for this too and I wouldn't be shocked if this was on their mind too.

      If I were running some site where pressing a button does some kind of auth that I really want a user to read, that seems like a reasonable mitigation compared to the hyperbole found in the article:

      > This technique seemingly affects almost every website

  • yellow_lead 10 hours ago
    Am I mistaken or does this require the user to allow pop-ups?
    • gruez 10 hours ago
      Default configuration for most browsers is to allow popups if it was initiated by a user action.
  • gnabgib 4 days ago
    Title: DoubleClickjacking: A New Era of UI Redressing
  • krunck 10 hours ago
    Browser content should never be able to modify the configuration of my desktop window layout by opening a new window. There I said it.
    • KTibow 7 hours ago
      TFA doesn't use separate windows, only separate tabs.
    • NoMoreNicksLeft 8 hours ago
      Agreed, but I think this was a workaround for early web apps that existed in the primitive days. You'd need two webpages of the same site open to complete some task, but the apps weren't sophisticated enough to do that within a single window/tab. Once they did it back then, now too many web apps and workflows would suffer if they just killed that functionality entirely, too many users would scream.
  • bangaladore 9 hours ago
    Bit off topic, but what's the reasoning behind messing with the native browser scroll here. Almost gets me motion sick when scrolling through this article.
    • packtreefly 8 hours ago
      It is the height of irony to me that a blog post complaining about clickjacking is presented on a website that is guilty of scrolljacking.
      • thoughtpalette 7 hours ago
        I thought the same. Glad to see it called out here. Maybe that's the post for next week...
        • mediumsmart 7 hours ago
          the scrolling is almost normal in librewolf - but that is with privacy badger blocking 14 trackers on that page ...
    • technion 8 hours ago
      Marketing people have demanded this on many websites sites I've been involved with. Don't ask me why.
      • btown 6 hours ago
        My hypothesis on this is that marketers who have personal MacBooks but are forced to use Windows computers at work, with mice with notched scroll wheels, find JS-driven smooth scrolling to be superior to the native snapping experience they see at work on many websites. But it wreaks havoc on people who already have computers with native high-resolution trackpads. Alas, the folks at big companies care more about their at-work than at-home experience, and it's been cargo-culted to smaller companies now as well. The conversation "detect if there is indeed a trackpad being used" never even comes up.
      • ndriscoll 7 hours ago
        Maybe the industry should develop a secret header we can all have our browser send to disable this sort of thing. Like `X-Shibboleet: true`.
      • dmix 8 hours ago
        What is it? Smooth scrolling?
        • bangaladore 8 hours ago
          From the html:

          // SmoothScroll for websites v1.2.1

          • hombre_fatal 7 hours ago
            You'd think the library would first check for macOS/iOS which already has far superior smooth scrolling.
          • braiamp 8 hours ago
            And this is why NoScript is a required extension. Matrix if you use Chromium based browsers.
    • p3rls 3 hours ago
      Nah in my opinion it needs more acceleration, really why not just basically remap my mousewheel to home/end
  • IshKebab 10 hours ago
    Eh, it's hardly seamless, and double clicking is extremely uncommon on the web so that would be a big red flag.
    • Etheryte 10 hours ago
      I couldn't even begin to count how many bug reports I've seen over the years that start with "when I accidentally double-click foo, bar happens". It might not be an intentional usage pattern, sure, but that doesn't mean it doesn't happen a lot.
      • kevinsync 7 hours ago
        Yeah, I have no data beyond anecdotal to back this up, but I witness A LOT of people double-clicking everything, regardless of what it is. I assume it's because they only got so far in "computer" as to learn "click + drag to move, double-click to open a program or file". Link on a web page? I want to open that!
    • uhoh-itsmaciek 9 hours ago
      Google Drive uses it as an interaction pattern. I find that baffling, but while uncommon, it's not totally absent. And as others have pointed out, many users carry over their expectation of having to double-click from desktop interfaces.
    • recursive 8 hours ago
      I double click to select text all the time. Get your flags ready.
      • bangaladore 8 hours ago
        I'd laugh if an effective way to present this is:

        CAPTCHA:

        Please copy `qwertyuiopasdfhkl`

        Into here `<textbox>`

        Edit: Quick (ai mockup) concept... https://imgur.com/mc0IdEA Obviously it would be most effective with a longer string though.

    • kazinator 8 hours ago
      Web browsers and the applications on them have become extremely memory hungry. Memory management pauses are common and people click multiple times irately.
    • giantrobot 10 hours ago
      Double clicking on the web is extremely common with older less technically adept users. This same cohort is also the most susceptible to scams.
      • bangaladore 8 hours ago
        Another obvious case of double click is to select all text in a given area. This one is a bit more obscure though.

        Edit: Actually that's generally I guess triple click. Double to select a word.

      • waltwalther 10 hours ago
        This. I have told my eighty-year-old parents this many times over the years, but it doesn't seem to stick.
        • Moru 10 hours ago
          I see a lot of people doubleclicking on the web. Both young and old.
        • NotYourLawyer 9 hours ago
          I’ve tried to explain it many times too, but I can’t really articulate a good, comprehensive rule for when to single and when to double click.
          • cobbal 8 hours ago
            Another complicating factor that many less-tech-literate don't have a good internal model for is window focus. I've seen several people try and single-click on a not focused web button, only for nothing to happen. When they click again, the button is activated. They then learn to always double click that button.

            Having a mental model of "this button needs to be double clicked" gets them the result they want, even if that's not a very accurate reflection of the computer.

          • wat10000 7 hours ago
            In theory: if you’re clicking on a UI element that has some notion of being selected, then a single-click selects it, and you need a double-click to take an action on it. If there’s no notion of selection, then a single click takes an action.

            In practice: adherence to this ranges from perfect to abysmal. And users who don’t understand the computer well may not know how to think about whether a given UI element is selectable or not.

          • Pxtl 8 hours ago
            When you're on windows and not in the browser, you double-click to launch a file or program in the Explorer (which also is what runs the desktop). Single-click is select.

            So, the rule:

            List of files on your computer or desktop? Double-click. Otherwise? Don't.

            • NotYourLawyer 7 hours ago
              What if I’m opening an email in Outlook? What if I’m looking at something in Control Panel? (That one’s a trick question, since the answer has changed in modern Windows versions.)
              • Pxtl 6 hours ago
                I'd say don't do that. Who reads emails?

                Although seriously, I find I never break out of the preview in Outlook email. The only spot in Outlook where I really need to double-click is the calendar. Which is annoying.

    • doublerabbit 9 hours ago
      > double clicking is extremely uncommon on the web so that would be a big red flag.

      You've never had a slow internet connection have you? I've seen double clicking from all users in the office. Comes from frustration.

      How many times have you tried to open an application; for it not open? So you click the icon again only for two windows to split open?

      Young, old, even techs. It's not as uncommon as you think.

      • psygn89 5 hours ago
        I've had a few worn mouses register double clicks upon a single click. It happens inhumanly fast and users won't realize it until using an app that reacts to double clicks.
      • portaouflop 9 hours ago
        I’ve even triple or quadruple clicked sometimes with disastrous results