Email or username:

Password:

Forgot your password?
50 comments
Haelwenn /элвэн/ :triskell:
@ariadne As if most people could actually understand URLs, that ideology should have sailed ages ago and got hard-dropped when Android (and it's lack of showing the URL in the browser) came out.
Dominika
@mezzodrinker @ariadne hah. if the webpage responds with a 401, it does not warn you
✨メッツォ✨ :sabakan: :mastodont:

How in the actual fuck is this post still going :blobcatAstonished:​

Piers Cawley

@ariadne @dysfun This is going to make little Bobby Tables look trivial isn't it?

hanser

@ariadne

Ha, easy! You simply have to compare the angle of the slashes to the ones after https: obviously in the first link the angle is too flat which indicates that it is a special character and no slash. So this is the link more likely containing the malware. As I said: Really obvious!

... we'll be fine.

Wolf480pl

@hanser @ariadne
or you just mouseover the URL and look at the tooltip inthe bottom left corner....

Thomas Guyot-Sionnest

@hanser @ariadne It was easy to spot side-by-side, but what about coming across an unsuspected url? Would you have noticed it on the spot?

Some Unicode characters are even harder to distinguish than these fake slashes.

hanser

@dermoth @ariadne

sry, I forgot the <sarcasm></sarcasm>-tags :)

Even though I think that the Unicode-slash-attack vector existed already before, without the .zip TLD.

Mario Vavti
@Ariadne Conill 🐰 since most people already get caught by something like https://my.website.tld, i do not think this will make a significant difference...
Tane Piper

@ariadne @thisismissem before reading had a look at that image and that @ is insidious

csdummi

@rysiek @ariadne @deno_land what's the reason for those two /-look-alikes in unicode?

Michał "rysiek" Woźniak · 🇺🇦

@csdummi no clue, but I will say whatever the reason, it's certainly better than "we want to make money on .zip TLD" for .zip TLD to exist at all.

@ariadne @deno_land

csdummi

@rysiek @ariadne @deno_land apparently U+2044 is supposed to be the horizontal line used for fractions (e.g. ⅜) and U+2215 for divisions (e.g. m/s).

I'm not going far down this rabbit hole, but it really seems like we could do without those inside a URI. Ofc I have no idea, maybe a website for mathematics or physics relies on them.

Though a browser add-on might be created to warn when they are in a URI.

ShadSterling

@csdummi @selfisekai @rysiek @ariadne @deno_land don’t non-ASCII characters have to be urlencoded? If you’re showing the raw URL the encoding should make it apparent that they’re not path separators, and if you’re not showing the raw URL you should be using formatting to make the parts distinct. This strikes me as mostly a display bug

F4GRX Sébastien

@ariadne yes, and I did not cheat. The slashes in the first arent legit. Hard to see. Nicely done.

RooneyMcNibNug

@ariadne it might be worth blacklisting the entire .zip TLD with something like pi-hole

Tony Finch

@ariadne nah, / is not allowed in the userinfo part of a url

extreme organic gay

@fanf @ariadne fortunately there's a unicode alternative that looks identical.

mirabilos

@ariadne but!

$ python3 uricheck.py https://github.com∕kubernetes∕kubernetes∕archive∕refs∕tags∕@v1271.zip                     
Not an URI: https://github.com∕kubernetes∕kubernetes∕archive∕refs∕tags∕@v1271.zip

So anything that parses that as an URI is defective.

… let’s see what my Fediverse instance/client/whatever does: https://github.com∕kubernetes∕kubernetes∕archive∕refs∕tags∕@v1271.zip ← should not be a link

Adam Shostack :donor: :rebelverified:

@ariadne Clearly, both result in evil, but the second one delivers evil in the form of Kubernetes.

cybik :deifirev:

@ariadne the only answer I would accept:

Both are equally as horror-inducing and you should be reported to HR for asking this in an interview.

Joel LeBlanc

@ariadne This looks like a Chromium bug because unicode is not permitted in domain names. I believe any standards compliant browser will first resolve the string in “punycode” (real name) which breaks the chain of possible exploits before a page gets loaded (see RFC 3490).

Perhaps some DNS pre-caching trick could work? I don’t think DNS has the same transcoding requirement (see the toASCII requirement)

< release the standard nerds! 😈>

James Henstridge

@jwleblan @ariadne The domain name in the evil URL is plain ASCII. The non-ASCII characters are in the user name portion of the URL.

anniethebruce

I miss the days when Google was competent.

Jesse

@ariadne Big yikes. I don't know the dirty details of ICANN's approval process for new top level domains, but isn't this exactly the sort of thing they should be auditing for?

Jean-Francois Mezei

@ariadne pardon my ignorance here, but both urls point to github.com using https. And that would pass on the rest of the URL to the web server at github who would then return results with a certain content type. So why would either represet a risk unless you are using some Microsoft web browser that does stuff it shouldn't? Normally, the @ in a URL would be right after the host name to include username/password combination, But after the first /, it would be passed as the "GET" to web server

fennek

@jfmezei@mstdn.ca now compare the slashes in front of github.com to the ones after it.

(That different kind of slashes are allowed in URLs seems like the core problem to me, not .zip domains.)

Jean-Francois Mezei

@fupduck My bad, Had forgotten the @ syntax in URL for authentication.

Andy H

@jfmezei @ariadne only one points to GitHub. The linked article explains, and it's fun!

Mobius Princess :godot:

@ariadne There is no way they didn't know what they are doing with this.

sarah 🦦

@ariadne its the first, github archives doesn't have an @ symbol

nore that i only know this from packaging software for my distro, otherwise i wouldnt know which one it is

sarah 🦦

@ariadne oh i didnt notice those aren't slashes

DengelFred

@ariadne @schenklklopfer Wow, took me 5 minutes to understand, whats going on.

🕷️
@ariadne I feel like this is less so a problem of the domain and moreso a problem of the notation and browser's ability to communicate to the user what it's actually doing.

I think an interesting solution could be to introduce a new scheme, say "web" that restricts what syntax is accepted to a subset used commonly by sites on the web.
Nekojimi

@ariadne Why on earth did we make Google de facto rulers of the internet

Go Up