2015-10-06 260 views
0

在angularjs應用中防止XSS攻擊的最佳方法是什麼?在將它發送到其他服務電話之前,我已經使用了$ sanitize,並且我仍然從我們的安全團隊獲得了應用程序不安全的錯誤。該呼叫是沿線angularjs防止XSS攻擊

http://somesite.com/search?dateFrom='%22()%26%25<acx><ScRiPt%20>prompt(961193)</ScRiPt>&dateTo=20141231&code=5900 

但這是假設是POST電話。我不知道爲什麼安全掃描仍然產生錯誤。這是否必須是固定的服務器端?我在我的輸入字段中使用指令來驗證,以防止用戶輸入無效字符,如<,>等等。所以我不知道掃描是如何產生這些錯誤的......

繼承人是什麼掃描響應頭 enter image description here

+1

它可能是「POST」請求,但您的安全團隊可能會因爲它也發送一個帶有嵌套腳本標籤的查詢字符串。 – War10ck

回答

1

根據定義,XSS修復嚴格指的是不安全的內容的輸出。

AngularJS會默認輸出編碼的HTML,所以它不會被解析 - 對於與它相關的JS也是如此。所以默認你應該被覆蓋。

仍然,一些AngularJS開發人員選擇使用「ng-bind-html-unsafe」或手動通過$ sce製作不安全的內容。在這種情況下,開發人員必須意識到他們100%依靠後端來提供良好的數據。

您確定安全團隊提及XSS而不是CSRF?因爲CSRF有一個完全不同的修復方法(請參閱google上的CSRF令牌交換)。 如果情況並非如此,我的直覺就是說他們想要來自客戶端的編碼字符串(因爲他們懶得自己編碼)。

0

原來服務器端沒有清理輸入的數據。即使我設置了驗證,安全團隊也會使用可以調用POST AJAX調用而無需通過Web應用程序的應用程序。

+0

無論如何,這總是BE人的錯。我們應該使用這個引用來打印一些壁紙:) –