Improper coding of Chinese characters let players weaponize copy-pasted text strings.
Read the whole story
Read the whole story
I've made the exact same stupid mistake before. Didn't notice until four years later. Can't say I learned anything from the experience: every programmer knows (or ought to know) that multibyte characters require more than one byte, right?It's prolly not due to lack of input sanitation, but not handling multibyte characters properly (like using byte semantics instead of char semantics).
Idk, its pretty fucking amazing for awhile now, and I only dip in and out like a casualDestiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
Judging from Steamcharts, it's been somewhat stable with 15-20k players in the last couple of months. It just received a big update, so the numbers are currently higher than that average.Curious, what is the state of game for New World, havent heard much about it in any news source for awhile now?
Curious, what is the state of game for New World, havent heard much about it in any news source for awhile now?
Just two weeks ago, I went back and downloaded Destiny1 on PS5, apparently Im curious, but I wanted to see how it played and looked on the new console. Meh, its the same game. What I was surprised to discover is just how much the rest of the games biz only ever looked at it in terms of new ways to make moneeeyyy, and not actually the immense investment behind the netcode, gameplay, art and story.People still play Destiny?
I agree that they labeled this incorrectly. This is almost definitely from counting characters vs bytes and has nothing to do with sanitizing/changing what was sent by the user.I wish these bugs were not talked about as sanitisation issues. Sanitisation means removing potentially problematic characters from data. In this case, the problematic characters are multi-byte characters. So sanitisation would prevent the usage of Chinese characters, along with almost anything that isn't in the Latin character set. Likewise, for the HTML injection, sanitisation would prevent users from using the less than sign < in their chats.
Talking about this as a sanitisation issue masks the real problem; that programmers need to understand encodings, and always have them front of mind when working with strings.
They need a deep understanding that characters and bytes are not the same thing. Preferably, they use a programming language and/or code patterns that protect them from this kind of buffer overflow. They need to understand how strings behave and the paradigms to encode them when placing them in contexts such as HTML or database commands. Preferably they are using languages and frameworks that make doing the right thing easy (such as Rails making you explicitly mark strings as HTML safe to avoid HTML encoding).
IMO, string sanitisation may sometimes be appropriate, but treating issues like this as sanitisation issues is hurting our handling of these issues, because the discussion needs to be about encoding.
Destiny 2 is a 9 year old failed experiment in watching talented people stay with Microsoft, and awful people work for Activision to milk content for the barest of improvements at maximal prices. Given the rampant cheating and constant bugs that emerge with every piece of content, and Bungie/Sony's demeaning, condescending attitude towards its customers, the Chinese need to continue demonstrating just how woefully inadequate the frauds at the company are. Truly an awful game that needs to die, along with the company with it. We can only hope Sony realizes the error of its purchase and puts the developers out of work.
I agree that they labeled this incorrectly. This is almost definitely from counting characters vs bytes and has nothing to do with sanitizing/changing what was sent by the user.I wish these bugs were not talked about as sanitisation issues. Sanitisation means removing potentially problematic characters from data. In this case, the problematic characters are multi-byte characters. So sanitisation would prevent the usage of Chinese characters, along with almost anything that isn't in the Latin character set. Likewise, for the HTML injection, sanitisation would prevent users from using the less than sign < in their chats.
Talking about this as a sanitisation issue masks the real problem; that programmers need to understand encodings, and always have them front of mind when working with strings.
They need a deep understanding that characters and bytes are not the same thing. Preferably, they use a programming language and/or code patterns that protect them from this kind of buffer overflow. They need to understand how strings behave and the paradigms to encode them when placing them in contexts such as HTML or database commands. Preferably they are using languages and frameworks that make doing the right thing easy (such as Rails making you explicitly mark strings as HTML safe to avoid HTML encoding).
IMO, string sanitisation may sometimes be appropriate, but treating issues like this as sanitisation issues is hurting our handling of these issues, because the discussion needs to be about encoding.
BUT, your post about sanitization being equivalent to removing is wrong. Changing a raw less than character < to something that can't be used to inject html is absolutely sanitization. Sanitizing is cleaning, and removing is only ONE way to clean the user input. In this case maybe the discussion needs to be more about encoding, but that definitely isn't true for all types of malformed inputs.
Ah the joys of C and C++ programming. Truly dog***t programming languages.
People still play Destiny?
Obligatory xkcd:![]()
ETA: damn, ninja’d!
"Single-quote End-parenthesis Semicolon"Obligatory xkcd:![]()
ETA: damn, ninja’d!
I often wonder how the caller pronounced ‘);
People still play Destiny?
People still make this lame joke?
People still play Destiny?
People still make this lame joke?
Yeah, number 10 on Steam's peak players for today. Mostly behind the other juggernaut online games, but ahead of 90 other games and about double Rocket League, which seems to be a favorite of many that doesn't slagged as a dead game. Considering this is the end of season doldrums where many have already got their seals, weapons and armor and are taking it easy doing other stuff, it is probably a little lower than its average activity.
FWIW, Solstice doesn't do much for me, so I reloaded Destiny (1) on the PS5. I am amazed how full that game still is. Granted I'm just running the campaign missions, but getting strike teams together is no trouble and they still charge $60 for the base game and all the addons. I was expecting like $20 all in. Go figure.
Got owned in the Crucible huh?Destiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
People still play Destiny?
People still make this lame joke?
Yeah, number 10 on Steam's peak players for today. Mostly behind the other juggernaut online games, but ahead of 90 other games and about double Rocket League, which seems to be a favorite of many that doesn't slagged as a dead game. Considering this is the end of season doldrums where many have already got their seals, weapons and armor and are taking it easy doing other stuff, it is probably a little lower than its average activity.
FWIW, Solstice doesn't do much for me, so I reloaded Destiny (1) on the PS5. I am amazed how full that game still is. Granted I'm just running the campaign missions, but getting strike teams together is no trouble and they still charge $60 for the base game and all the addons. I was expecting like $20 all in. Go figure.
I was surprised too by the premium pricing. Nice if they remastered it for console and PC.
Got owned in the Crucible huh?Destiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
Got owned in the Crucible huh?Destiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
Got owned in the Crucible huh?Destiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
About every negative article about gaming for the last few weeks on Ars has been about Destiny 2.
Frankly, everything I've seen of the game on Steam and elsewhere makes me think it's the opposite of fun.
The specific way those Chinese characters are encoded in Unicode [...]
Quite likely an unlawful name. Countries that don’t operate lists of allowed names will often still require that names are to be non-obscene and made from Aa to Zz or the equivalent in the local languages, no numbers or weird punctuation*. Real-life name sanitisation is already implemented."Single-quote End-parenthesis Semicolon"Obligatory xkcd:![]()
ETA: damn, ninja’d!
I often wonder how the caller pronounced ‘);
Idk, its pretty fucking amazing for awhile now, and I only dip in and out like a casualDestiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
I wish these bugs were not talked about as sanitisation issues. Sanitisation means removing potentially problematic characters from data. In this case, the problematic characters are multi-byte characters. So sanitisation would prevent the usage of Chinese characters, along with almost anything that isn't in the Latin character set. Likewise, for the HTML injection, sanitisation would prevent users from using the less than sign < in their chats.
Talking about this as a sanitisation issue masks the real problem; that programmers need to understand encodings, and always have them front of mind when working with strings.
They need a deep understanding that characters and bytes are not the same thing. Preferably, they use a programming language and/or code patterns that protect them from this kind of buffer overflow. They need to understand how strings behave and the paradigms to encode them when placing them in contexts such as HTML or database commands. Preferably they are using languages and frameworks that make doing the right thing easy (such as Rails making you explicitly mark strings as HTML safe to avoid HTML encoding).
IMO, string sanitisation may sometimes be appropriate, but treating issues like this as sanitisation issues is hurting our handling of these issues, because the discussion needs to be about encoding.
I agree that they labeled this incorrectly. This is almost definitely from counting characters vs bytes and has nothing to do with sanitizing/changing what was sent by the user.I wish these bugs were not talked about as sanitisation issues. Sanitisation means removing potentially problematic characters from data. In this case, the problematic characters are multi-byte characters. So sanitisation would prevent the usage of Chinese characters, along with almost anything that isn't in the Latin character set. Likewise, for the HTML injection, sanitisation would prevent users from using the less than sign < in their chats.
Talking about this as a sanitisation issue masks the real problem; that programmers need to understand encodings, and always have them front of mind when working with strings.
They need a deep understanding that characters and bytes are not the same thing. Preferably, they use a programming language and/or code patterns that protect them from this kind of buffer overflow. They need to understand how strings behave and the paradigms to encode them when placing them in contexts such as HTML or database commands. Preferably they are using languages and frameworks that make doing the right thing easy (such as Rails making you explicitly mark strings as HTML safe to avoid HTML encoding).
IMO, string sanitisation may sometimes be appropriate, but treating issues like this as sanitisation issues is hurting our handling of these issues, because the discussion needs to be about encoding.
BUT, your post about sanitization being equivalent to removing is wrong. Changing a raw less than character < to something that can't be used to inject html is absolutely sanitization. Sanitizing is cleaning, and removing is only ONE way to clean the user input. In this case maybe the discussion needs to be more about encoding, but that definitely isn't true for all types of malformed inputs.
We could have a disagreement of definitions here. My take is that sanitisation is taking a string as you *receive* it and make it "safe", whereas encoding focuses the other side, as you then *present* a string you've received in a context; encoding HTML, SQL, etc.
The problem with encoding a string upon ingestion as sanitisation, say making it HTML safe, is when you go to put the string in a different context. Hence you end up with text messages and instant messages with < in them and the like.
Once you start talking about encoding rather than sanitization, you start talking about the context you are using a string in, and the appropriate presentation for that context, rather than this idea you make a string "safe" at ingestion. Because there is no single sanitised representation. What is safe for HTML is different to what is safe for SQL is different to what is safe for Javascript. Once you are talking about encoding, then you're talking about what is appropriate in a particular context.
There's been only 3 articles featuring Destiny in the last month. This is the only one that's actually about the game, though it in fact it's only about a bug in the chat system not the game as a game.Got owned in the Crucible huh?Destiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
About every negative article about gaming for the last few weeks on Ars has been about Destiny 2.
Frankly, everything I've seen of the game on Steam and elsewhere makes me think it's the opposite of fun.
Idk, its pretty fucking amazing for awhile now, and I only dip in and out like a casualDestiny 2 just seems like a raging dumpster fire of a game across the board for multiple reasons.
Can it still be played solo? I mean, with Destiny (v1), I was able to play the campaign, along with having a few friends jump in with me. We'd help at events. Then the loot cave fiasco tainted it all. (look, call it cheesing, call it fun, but for the devs to openly mock their flaw ... people want to grind...they will grind).
Then D2 came out, and that crucible, along with (yes, I couldn't do the Vault of Glass or any lengthy Raid. Not that kind free time.) raids and events and just the pain of waiting for some weapon part to be sold at some random location by Xur.
Wonder how it plays in the PS5...?