0x00 xss常用到的编码:
1. html 实体编码(10进制和十六进制):
例如[<]编码为:html 十进制:<; html 十六进制:<
2. javascript 八进制和十六进制:
例如 [<]编码为: javascript 八进制:\74 javascript 十六进制:\x3c
3.url编码和base64编码:
例如[<]编码为:url编码: %3c base64: PA==
4.jsunicode 编码:
例如[<]编码为:jsunicode:\u003c
0x01 各类编码在xss使用场合:
1.html实体编码:浏览器会在html标签里解析html实体编码。($colon;=>(冒号) 
=>(换行)
2.javascript 编码:javascript 中识别的编码有:Jsunicode js八进制 js十进制 当标签的属性引用了javascript伪协议,就可以执行代码
例如<a href="javascript:;"></a> 可以在href跳转时执行js代码。当我们输入的值存入了某一个变量,且出现在一个能把字符串当作js代码执行的函数里面。eval() setlnterval() setTimeout()
3.base64 编码:如果有可控点,但过滤了' '' < > javascript 等,可以尝试base64
例如:<a href="data:text/html;base64,payload(base64编码过的)">test</a>
0x02总结:
之前一直搞不懂大佬们写的payload,为啥可以这样插可以,换一个就不可以,就是对于编码和浏览器的解析不了解,小白的我可以说是稀里糊涂的,所以做不到灵活应用,还是要把原理的东西搞懂,才能活用呀,加油学习哦!