ng-app指令下的DOM XSS | AngularJS 表达式

ng-app作用是告诉子元素以下的指令是归angularJs的,angularJs会识别。
angularJs共有4大模块构成MVC,模块和依赖注入、指令,双向数据绑定,虽然分为四大块但是我觉得无论使用那一块的知识都离不开指令,也就是说指令贯穿整个angularJs的应用。MVC里的控制器ng-controller是指令,获取、同步数据ng-model是指令;模块和依赖注入ng-app也是指令;双向数据绑定更不用说。所以说指令是angularJs的基础

复现

目标是一个搜索框
image
发现使用 ng-scope 指令,随便输入一些内容
image
输入以下 AngularJS 表达式:
{{$on.constructor('alert(1)')()}}
image
内容被 AngularJS 识别并解析
image


所以遇见双引号和尖括号都被过滤的情况别立马就放弃,找找其他突破点

AngularJS 表达式

AngularJS 表达式写在双大括号内:{{ expression }}。
AngularJS 表达式把数据绑定到 HTML。
AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。
例如 {{ 5 + 5 }}
image
更多实例可跳转至菜鸟教程
https://www.runoob.com/angularjs/angularjs-expressions.html

posted @ 2022-03-16 22:24  LinkPoc  阅读(166)  评论(0)    收藏  举报