Using extended characters in the SSID

One of the tests I need to do involves exploiting the fact that the SSID is a byte array (or, octet array for some). SSIDs are not strings, but an array of bytes according to the IEEE standard. These can include characters that are not normally available on US keyboards etc.

Any suggestions on how to code these? I tried cut and pasting from charmap but I get UTF-8 characters instead of extended ASCII.

Your information is not entirely accurate:

Yes, use the corresponding passphrase...it seems you're improperly trying to translate a hextet into a passphrase instead (it already has a passphrase :smile: ).

(I have a feeling you're trying to make up a passphrase from a set of bytes though...and haven't got to your :man_facepalming: moment)

@mk24 fruther elaborates in the next post:

I hope this helps.

Edit: (The other idea is you're trying to hack someone's AP from the key seen on air...hence...you'd definitely understand why the solution is use the passphrase. I assume you're just being scholarly, though. :man_student: )

See: https://www.cisco.com/assets/sol/sb/WAP321_Emulators/WAP321_Emulator_v1.0.0.3/help/Wireless05.html

Can you show the RFC that says it can be any string?

This reference does not cite an RFC - https://en.wikipedia.org/wiki/Service_set_(802.11_network)#Service_set_identifier

This isn't a RFC, but an IEEE standard. From the IEEE Standard:

1 Like

Can you elaborate on which exact byte array you are trying to insert and what you're expecting to do with that?

What's the difference between the byte array of 4 chars "0xF0 0x9F 0x92 0xA9" as opposed to the pile of poo UTF-8 char?

Just to clarify the kind of distinction (or the lack thereof) I'm talking about:

Just write a little piece of software. C, pyhton, whichever language you like. Write code that opens a new file and puts the 4 bytes "0xF0 0x9F 0x92 0xA9" in it. Now open that new file your code created with any editor. Wouldn't you expect the editor to simply show the pile of poo character? Even if there was a way for the /etc/config/wireless file to have an SSID configured in a byte-for-byte syntax. Wouldn't you expect every wifi client out there to show this network as the pile of poo character?

I really fail to see what you're trying to do here, except making it harder for people to connect who like writing wifi client config files by hand.

1 Like

IT is an international market place. Many countries use characters in their native languages that are not in the standard 7 bit ASCII character map. IEEE recognized this when they set up the 802.11 standard by specifying that the SSID and Password fields are octets, not characters.

My issue is in that some of our customers are in these other countries. I need a way to test our hardware (which includes a TI Wifi chipset) against an AP that has these characteristics. I need a way to insert these characters in the OpenWRT configuration. I unsuccessfully tried to cut and paste data from the windows charmap application to both the web configuration pages, editing the configuration file with vim and several other methods. Even tried specifying things like \x0nn, \u000, and other common codings.

After posting this I discovered I was able to insert the characters by dumping the config file out with xxd, editing the hex data map, then reconstituting the file with the xxd -r option.

It seems there should be an easier way to do this. Makers of compilers have long recognized the need for being able to specify special hex characters into strings, I was just hoping to find an easier way.

An international keyboard won't work?

That what I use when I need to do things like this.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.