나는 간단한 예에 의해 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>
결과 :
이메일 예 :
나는 2 개의 사과가있을 것으로 예상했다. 먼저 ng-bind로, 두 번째로 일반 이미지로 (html 당). 두 번째 사과 이미지 (내 html 파일과 같은 폴더에 있음)를 볼 수 있지만 왜 처음에는 그렇지 않습니까? 그래도 실행 된 코드에서 링크를 볼 수 있습니까?
모델은 문자열로 취급되고 링크 된 문서에 여기
ng-html-bind
당신이 추가 정보를 찾을 수 있습니다 사용하지 않고 결과를 보여주고 싶은 경우. p 태그 – Nirus
으로 설정하는 동안 trustAsHTML을 사용합니다. 정상적인 앵글 사이트가 어떻게 돌아갈 수 있는지 예를 들어야합니다. usetrustAsHTML을 추가하면 주입이 허용 된 것으로 표시됩니다. 나는 사용자가 여기에 무엇이든 입력 할 수 있다고 확신 할 때만 사용할 것입니다 ... – Deadpool
당신의 요점은 무엇입니까? 단순히 존재하지 않는 취약점을 보여 주려고합니다. – Camo