读者可参考、订阅专栏:Xss-Labs靶场攻防实战
姿势
逻辑后端代码:

注意到第九行有一个ng-include属性
ng-include指令
ng-include是AngularJS框架中的一个指令,用于在HTML页面中包含外部文件或片段。通过使用ng-include,可以将外部HTML文件的内容动态地插入到当前的HTML页面中。
以下是ng-include的基本用法:
- 在需要包含外部文件的位置,使用
ng-include指令,并将要包含的文件路径赋值给指令的属性值。
<div ng-include="'path/to/file.html'"></div>
注意,文件路径需要用单引号或双引号括起来。
- 可以使用作用域变量作为文件路径的一部分,以实现动态包含。
<div ng-include="dynamicPath"></div>
在控制器中,将dynamicPath变量设置为要包含的文件路径。
$scope.dynamicPath = 'path/to/file.html';
这样,当dynamicPath的值发生更改时,将自动更新包含的文件内容。
需要注意的是,ng-include指令是通过浏览器的XHR请求加载外部文件的。因此,需要确保被包含的文件在服务器上可访问。
故通过对src传参构造xss语句,使其加载level1.php文件并在该文件处执行命令即可
POC:
'level1.php?name=<img src=1 οnerrοr=javascript:alert("qiushuo")>'

本文详细介绍了AngularJS中的ng-include指令如何被用于动态加载外部文件,展示了如何通过构造XSS语句来利用这个特性进行攻击。作者还提到这是网络安全Xss-Labs靶场中的一个挑战,后续会分享更多安全解题内容。
3569

被折叠的 条评论
为什么被折叠?



