Javascript 在AngularJS中利用XSS Vurnability(简单示例)
我试图通过一个简单的例子来利用AngularJS中的XSS Vurnablity: 片段Javascript 在AngularJS中利用XSS Vurnability(简单示例),javascript,angularjs,xss,ngsanitize,Javascript,Angularjs,Xss,Ngsanitize,我试图通过一个简单的例子来利用AngularJS中的XSS Vurnablity: 片段 <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.min.js"></script> <script> //app declaration var app = ang
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.min.js"></script>
<script>
//app declaration
var app = angular.module('myApp', []);
//controller declaration
app.controller('myCtrl', function ($scope) {
$scope.name = 9;
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="name">
<!-- sanitized html -->
<p ng-bind="name"></p>
<hr/>
<img src="apple.png" />
</body>
</html>
//应用程序声明
var-app=angular.module('myApp',[]);
//控制器声明
应用程序控制器('myCtrl',函数($scope){
$scope.name=9;
});
结果:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.min.js"></script>
<script>
//app declaration
var app = angular.module('myApp', []);
//controller declaration
app.controller('myCtrl', function ($scope) {
$scope.name = 9;
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="name">
<!-- sanitized html -->
<p ng-bind="name"></p>
<hr/>
<img src="apple.png" />
</body>
</html>
期望值:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.min.js"></script>
<script>
//app declaration
var app = angular.module('myApp', []);
//controller declaration
app.controller('myCtrl', function ($scope) {
$scope.name = 9;
});
</script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="name">
<!-- sanitized html -->
<p ng-bind="name"></p>
<hr/>
<img src="apple.png" />
</body>
</html>
我以为那里会有两个苹果。首先通过ng绑定,然后通过普通图像(按照html)。我可以看到第二张苹果图片(和我的html文件在同一个文件夹中),但为什么不先看呢?不过,我可以在执行的代码中看到链接
ng bind
自动转义html代码
如果要显示未经消毒的结果,请使用ng bind html
您可以在链接文档中找到更多详细信息:
模型被视为字符串。设置为p时使用trustAsHTML tagI必须举例说明正常角度站点的可访问性。如果我添加usetrustAsHTML,它将显示我允许进行注射。我将使用它,只有当我确认用户可以在这里输入任何东西…你的观点是什么?您正试图显示一个根本不存在的漏洞。Angular不允许img标记被注入,它应该被视为一个文本。如果要将简单文本转换为html,则必须显式地允许它信任。你到底在找什么?它是ng bind html。不支持html绑定