ng-app指令下的DOM XSS | AngularJS 表达式
ng-app作用是告诉子元素以下的指令是归angularJs的,angularJs会识别。
angularJs共有4大模块构成MVC,模块和依赖注入、指令,双向数据绑定,虽然分为四大块但是我觉得无论使用那一块的知识都离不开指令,也就是说指令贯穿整个angularJs的应用。MVC里的控制器ng-controller是指令,获取、同步数据ng-model是指令;模块和依赖注入ng-app也是指令;双向数据绑定更不用说。所以说指令是angularJs的基础
复现
目标是一个搜索框
发现使用 ng-scope 指令,随便输入一些内容
输入以下 AngularJS 表达式:
{{$on.constructor('alert(1)')()}}
内容被 AngularJS 识别并解析
所以遇见双引号和尖括号都被过滤的情况别立马就放弃,找找其他突破点
AngularJS 表达式
AngularJS 表达式写在双大括号内:{{ expression }}。
AngularJS 表达式把数据绑定到 HTML。
AngularJS 表达式 很像 JavaScript 表达式:它们可以包含文字、运算符和变量。
例如 {{ 5 + 5 }}
更多实例可跳转至菜鸟教程
https://www.runoob.com/angularjs/angularjs-expressions.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性