微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AngularJS表达式中的DOM XSS

如何解决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 举报,一经查实,本站将立刻删除。