Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS表达式中的DOM XSS_Javascript_Angularjs_Dom_Constructor_Xss - Fatal编程技术网

Javascript AngularJS表达式中的DOM XSS

Javascript AngularJS表达式中的DOM XSS,javascript,angularjs,dom,constructor,xss,Javascript,Angularjs,Dom,Constructor,Xss,如果这个问题看起来很傻,很抱歉,但我对javascript和Angularjs是新手 在portswigger实验室解决方案中,他们利用AngularJS表达式中的DOM XSS,通过此有效负载执行alert函数{{{$on.constructor('alert(1)')()} 我不明白.constructor()上有双括号的$on。我试图阅读javascript构造函数和angularjs范围对象,但仍然不明白,上的$on是什么?这是一个变量(如果是,为什么它有一个构造函数)还是一个对象(如果

如果这个问题看起来很傻,很抱歉,但我对javascript和Angularjs是新手

在portswigger实验室解决方案中,他们利用AngularJS表达式中的DOM XSS,通过此有效负载执行
alert
函数
{{{$on.constructor('alert(1)')()}

我不明白.constructor()上有双括号的
$on。我试图阅读javascript构造函数和angularjs范围对象,但仍然不明白,
上的
$on是什么?这是一个变量(如果是,为什么它有一个构造函数)还是一个对象(如果是,是什么类的对象?)。我知道角度表达式是在这里编写的,我们不能简单地这样做,因为角度表达式不允许所有javascript表达式。我需要了解什么是.constructor()上的
$on()
,以及为什么它有双括号

提前谢谢