2017-02-13 6 views
0

나는 간단한 예에 의해 AngularJS와의 XSS Vurnablity을 악용하려고 :XSS Vurnability AngularJS와의 악용 (간단한 예제)

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 파일과 같은 폴더에 있음)를 볼 수 있지만 왜 처음에는 그렇지 않습니까? 그래도 실행 된 코드에서 링크를 볼 수 있습니까?

+0

모델은 문자열로 취급되고 링크 된 문서에 여기 ng-html-bind

당신이 추가 정보를 찾을 수 있습니다 사용하지 않고 결과를 보여주고 싶은 경우. p 태그 – Nirus

+0

으로 설정하는 동안 trustAsHTML을 사용합니다. 정상적인 앵글 사이트가 어떻게 돌아갈 수 있는지 예를 들어야합니다. usetrustAsHTML을 추가하면 주입이 허용 된 것으로 표시됩니다. 나는 사용자가 여기에 무엇이든 입력 할 수 있다고 확신 할 때만 사용할 것입니다 ... – Deadpool

+0

당신의 요점은 무엇입니까? 단순히 존재하지 않는 취약점을 보여 주려고합니다. – Camo

답변