AngularJS表达式中的DOM XSS

问题描述

很抱歉,这个问题似乎很愚蠢,但我是javascript和Angularjs的新手。

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

我不明白带有双括号的$on.constructor() ()。我尝试阅读javascript构造函数和angularjs作用域对象,但仍然不明白,$on是什么?是变量(如果是,为什么要有构造函数)或对象(如果是,则是什么类的对象?)。我知道Angular表达式是在这里{{ }}编写的,我们不能简单地这样做{{ alert(1) }},因为Angular表达式不允许所有的javascript表达式。我需要了解什么是$on.constructor() ()以及为什么要使用双括号?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)