data协议常用数据格式
不使用编码的方式绕过圆括号过滤
环境是https://xss.haozi.me/#/0x04 ,其中代码过滤了中括号、圆括号、反引号。于是尝试了编码绕过,使用实体编码之后很容易就绕过了。
function render (input) {
const stripBracketsRe = /[()`]/g
input = input.replace(stripBracketsRe, '')
return input
}
但是是不是还有其他的方法可以绕过呢,因为在实际测试中很可能编码绕过不可行。然后就想到了伪协议,之后通过搜索发现确实有在过滤了圆括号且编码绕过不可行的例子,例子中使用了data协议进行弹窗测试。在https://xss.haozi.me/#/0x04 测试之后弹窗了。