2018Web攻防训练营编码转义介绍1.URL编码2.html编码3.javascript编码4.编码含义课程内容01URL编码URL编码url的设计者,考虑到安全传输问题,防止url字符丢失,所以选用了相对较小的、通用的安全字母表。另一方面,url的设计者希望url是完整的,有时候需要url中包含除去通用安全字母表之外的二进制数据和字符(比如中文)。所以url引入了一种转义机制,将不安全的字符编码为安全字符再进行传输。百分号编码:url编码包含一个百分号(%),后面跟着两个表示字符ASCII码的十六进制数。例如:空格转为“%20”。02html编码html编码一些保留字符出现在文本节点和标签值里是不安全的。比如“<>”会导致浏览器误认为标签。如果想要正确的显示这些字符,需要使用html编码。实体编码:一般以“&”开头,“;”结尾,可以不加“;”。如:“<”转为“<”进制编码:以“”开头,加上字符的数值,“;”结尾,可以不加“;”。字符的数值可以是任意十进制ascii码或Unicode字符编码。十六进制的数值需要在编码数字前加“x”。如:“<”转为十进制的“<”或十六进制的“<”。03javascript编码javascript编码数字形式:\u后面加4位16进制数字(或\x后加2位16进制数字),按字符的uncode数值编码,不足位数以零填充。如:“<”转为“\u003c”或“\x3c”。其中“\u”开头的Unicode转义方式可以用在字符串之外的位置,其他的不可以。jsfuck:http://www.jsfuck.com/04编码含义编码含义浏览器对提交的编码进行自解析,执行1.URL编码2.html编码3.javascript编码4.编码含义总结再见欢迎关注Web安全训练营课程