XSS编码问题以及绕过

常用的编码
URL编码: 一个百分号和该字符的ASCII编码所对应的2位十六进制数字。
例如“/”的URL编码为%2F
#:%23;
. :%2e;
+ :%2b;
< :%3c;
>: %3e;
!:%21;
空格:%20;
&: %26;
(:%28;
): %29;
”:%22;
’ :%27;

HTML实体编码: 以&开头,分号结尾的。 例如“<”的编码是“<”
HTML实体编码(10进制与16进制)
例如“<” html十进制:< html十六进制:<

JavaScript编码: js提供了四种字符编码的策略

  1. 三个八进制数字,如果不够个数,前面补0,例如“<”编码为“\074”
  2. 两个十六进制数字,如果不够个数,前面补0,例如“<”编码为“\x3c”
  3. 四个十六进制数字,如果不够个数,前面补0,例如“<”编码为“\u003c”
  4. 对于一些控制字符,使用特殊的C类型的转义风格(例如\n和\r)

各个编码的具体利用场景
(1) base64编码
Data协议使用方法 data:资源类型;编码,内容
到目前为止 遇到使用base64编码的情况 大多数是这样

你可能感兴趣的:(网络安全,xss)