AngularJS中的XSS Vurnability漏洞利用(简单示例)

时间:2017-02-13 12:17:49

标签: javascript angularjs xss ngsanitize

我试图通过一个简单的例子来利用AngularJS中的XSS Vurnablity:

SNIPPET

<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>

结果:

enter image description here

期望:

我预计会有2个苹果。首先是ng-bind,第二个是普通图像(按照html)。我可以看到第二个苹果图像(与我的html文件在同一文件夹中),但为什么不先?虽然,我可以看到执行代码中的链接?

1 个答案:

答案 0 :(得分:0)

ng-bind会自动转义html代码。

如果您想在未经过清理的情况下显示结果,请使用ng-html-bind

您可以在链接的文档中找到更多详细信息

https://docs.angularjs.org/api/ngSanitize/service/$sanitize