HeartSky's blog


在渗透之路上渐行渐远


编码

近期在学xss时深深感受到了编码知识的重要性,于是在这整理下遇到的各种编码

HTML编码

因为在HTML中一些字符是预留的,如< >,因此便有了HTML实体编码,如上述两个就可以表示成&lt;(less than),&gt;(greater than),都是有意义的名称,容易记忆,当然也可以表示成实体编号的形式,分十进制和十六进制,&lt;就可以表示成&#60;$#x3c;,分号可以省略

要注意的是 HTML标签内的HTML实体编码会自动解码


CSS编码

CSS除了兼容HTML编码外,十六进制形式还可以使用\3c的形式表示


JS编码

在JS中可以直接通过eval执行的字符串有八进制和十六进制两种形式,如<可以表示为\74\x3c,但这两种编码方式不能直接给多字节字符编码(如汉字,一个字符两个字节),这种情况下就只能进行Unicode编码,\u4ee3\u7801(代码)


还有其他的一些编码,等遇到了再来整理