Security Testing - Encoding



What is Encoding?

Encoding is the process of putting a sequence of characters such as letters, numbers and other special characters into a specialized format for efficient transmission while Decoding is the process of converting an encoded format back into the original sequence of characters. It is completely different from Encryption which we usually misinterpret.

Encoding and decoding are used in data communications and storage. Encoding should NOT be used for transporting sensitive information.

URL Encoding

URLs can only be sent over the Internet using the ASCII character-set and there are instances when URL contains special characters apart from ASCII characters, it needs to be encoded. URLs donot contain spaces and are replaced with a plus (+) sign or with %20.

ASCII Encoding

The Browser(client side) will encode the input according to the character-set used in the web-page and the default character-set in HTML5 is UTF-8.

Following table shows ASCII symbol of the character and its equal Symbol and finally its replacement which can be used in URL before passing it to the server:

ASCIISymbolReplacement
< 32 Encode with %xx where xx is the hexadecimal representation of the character.
32space+ or %20
33!%21
34"%22
35#%23
36$%24
37%%25
38&%26
39'%27
40(%28
41)%29
42**
43+%2B
44,%2C
45--
46..
47/%2F
4800
4911
5022
5133
5244
5355
5466
5577
5688
5799
58:%3A
59;%3B
60%3C
61=%3D
62>%3E
63?%3F
64@%40
65AA
66BB
67CC
68DD
69EE
70FF
71GG
72HH
73II
74JJ
75KK
76LL
77MM
78NN
79OO
80PP
81QQ
82RR
83SS
84TT
85UU
86VV
87WW
88XX
89YY
90ZZ
91[%5B
92\%5C
93]%5D
94^%5E
95__
96`%60
97aa
98bb
99cc
100dd
101ee
102ff
103gg
104hh
105ii
106jj
107kk
108ll
109mm
110nn
111oo
112pp
113qq
114rr
115ss
116tt
117uu
118vv
119ww
120xx
121yy
122zz
123{%7B
124|%7C
125}%7D
126~%7E
127 %7F
> 127 Encode with %xx where xx is the hexadecimal representation of the character
Advertisements