scanning a random qr code has to be this generation’s plugging in an unknown usb drive.
I mean, unless somebody is burning browser zero days on random public QR codes I’m not too worried.
Browser zero days are some of the most valuable exploits in existence, so I highly doubt it would happen in practice
It’s easier to take precautions though. You probably don’t have an insulated USB port or throwaway host device but handling QR codes safely just takes basic tech and skill.
Important advice:
- Don’t use apps that auto-open URLs in QR codes when pointed at!
- Make sure the app shows the full content of the QR code and lets you peruse it indefinitely before you open the link!
- Know the structure of URLs and common pitfalls!
Recommendations:
- Be extra suspicious if there is no URL printed next to the code, or if the printed URL is different.
- Use an open source reader app (most QR codes don’t contain secrets but it’s got permission to use either camera!) that does not resolve Punycode (Unicode in TLDs).
- Strip any tracking parameters you spot before following any URLs.
- Be careful if the QR code could have been easily tampered with (on a sticker over the original one, or on a plain sheet of paper inserted into a plastic wrap together with the rest)
I think today’s generation’s equivalent is free Wi-Fi networks. Kids without mobile data in an area without an established public network will connect to just about any open one unless the SSID includes “LaserJet” or similar.
Strip any tracking parameters you spot before following any URLs.
If it’s one of these QR codes at a restaurant for ordering, the parameters could possibly be necessary to properly connect your order to your table, depending on how they’re set up.
Then it’s not a tracking parameter of course.
WiFi and cellular networks as well. Using cellular data without some kind of tunneling for traffic/dns is nuts IMO.
I keep meaning to look more into how qr codes work. I always wondered if there were possible attack vectors if a bad actor exploited a flaw in the decoding of the image. My mind went to a zip bomb for no apparent reason (a tiny file that unzips to a massive amount of data on disk)
That is very decoder-specific. The most common QR reader apps are the Camera app on iPhones and Google Lens for Android so you’ll want to target one of these (though Google Lens might be using cloud processing for that). There probably won’t be any exploits in the image processing part but you obviously can write arbitrary data (including ASCII control characters such as CR, LF, null) into the “data” part of the QR code, as the encoding mode and data length is stored in the first 4+(n*8) bits of where data would be instead of null byte termination. Normally, the data is then right-padded with repeating
0xEC11
(or not) and then error correction follows (number of bytes in the error-correction part is defined by the size and ECC mode indicated in another region).
You just don’t open the link
You would at least be able to examine the link first.
That’s why this.
Page not found :(
Has been taken down. See archived copy
Probably smart to take it down. What he did could be construed as hacking.
I have no idea what the law is in India, but if he got a “hacking” charge for this it would be a gross miscarriage of justice, considering he never once did anything resembling social engineering, brute forcing passwords, any sort of injection attack, or anything else that might actually be involved in hacking.
However, assuming he never tried to reach out to the company themselves first (and I saw no indication in the article that he had), this is really quite a horrible irresponsible disclosure. It’s pretty obviously a significant leak of sensitive data—both customer and business data—and giving them 90 days to fix it before alerting the public to what you found is pretty basic security ethics.
I also don’t know the laws in India, but in the US nearly every major “hacking” case for decades has been a miscarriage of justice to some degree or another.
Like Kevin Mitnick who simply figured out that a major early ISP was keeping customer payment information in plaintext on an internet-connected server.
deleted by creator
Self-censorship working a little too well.
Absolute insanity.
I would have abused this great and terrible power in just the same way he described. Random orders for random tables at random restaurants at random times in small quantities for as long as they aren’t protected. Just enough to be an inconvenience/awkward but not enough to raise alarms.
And now I will check every QR code I scan at a restaurant.
That seems kinda fucked up. Why would you do something like that?
I mean, I at least get fucking with people for money. Doing it for fun, not so much
Also, anyone know what they meant with this line?
I still loved my life so I didn’t want to use the Google custom search API.
Because you can or to prove a point.
As to the quoted text, I assumed it was a reference to not getting more deeply involved in it that would cause legal issues for himself.
Interesting. I thought that was just in movies. lol
Ok, yeah I figured the same thing
deleted by creator
I scanned the API calls to get all the details I needed. I did my thing and I was in.
Internet Archive to the rescue: https://web.archive.org/web/20240923091701/https://peabee.substack.com/p/whats-inside-the-qr-code-menu-at
Edit: oops, @ChaoticNeutralCzech@feddit.org beat me to it!
The main event here was pretty interesting, but I’d just like to say that
It asked me for my name and Whatsapp mobile number.
Why not just the mobile number. Do they also operate drive-ins that only accept BMWs?
In certain places like India, WhatsApp is the default means of communication for everyone.
You can use it without phone data if you are on wifi, it supports better quality than sms for sending images, you can video chat with it, it’s cross platform, etc etc.What’s more amazing to me is that it’s not more popular in western countries.
It’s the most common communication tool for friends and family in much of europe
deleted by creator
I know it’s dominant, but it just sucks. To go back to the previous analogy, Whatsapp should have a monopoly on communication as much as BMW should have a monopoly on transportation.
deleted by creator
I agree and use Signal myself.
But people like the extra features of WhatsApp like desktop/web clients with seamless history sync and all the other little things that WhatsApp provides.
The average Joe doesn’t even think about security or privacy, they just know that the results of using WhatsApp are superior than using SMS.
iMessage is a non starter everywhere out of the US, it just doesn’t have the market penetration.
As an Australian, no one I know (many of whom own iPhones) talk about the blue-green bubble stuff.
They recognise where the fault lies and simply don’t use the app.deleted by creator
I have a friend group that insist on all events being planned through facebook.
I’ve missed out on events in the past due to not taking part.
It’s no longer a hill I wish to die on.
error 404: 'Page not found'
Has been taken down. See archived copy
Brilliant article - but it looks like it’s now been removed. Would be impressive if someone at Dotpe got wind in such a short space of time…
Huh, it was still working when I posted it one hour ago… unlucky I guess 🤷♂️
It asked for your phone number? That is the thing that angered me the most. I wonder why you would share this rather than ask a waiter and say you don’t have Whatsapp, for example.
Whoa, I need to recover from reading this. Where to even begin?? Asks for a phone number? Nonetheless, but a WhatsApp phone number? Hmm, a red flag, but it’s nothing compared with the rest of the post. A friend asked me maybe two weeks ago to help him make a QR code for a restaurant menu since I deal with them a lot for work (it’s actually not that difficult, see here). The generator I use is likely the safest in the market, with all bells and whistles, and I always tell anyone who asks - check the generator carefully before making a QR code, especially for business and especially if you plan to print it. Read the reviews. Look for security features. Plus, many advertise free codes, but it turns out - not really (people create, print, and then two weeks later - hello, pay a subscription if you want your code to work again). And I thought this was bad. But what I read now escapes reality. A big thanks to those who posted the archived copy, by the way.