簡體   English   中英

xss有效負載未在瀏覽器中執行

[英]xss payload not executing in browser

我正在為.net MVC應用程序進行滲透測試。 該應用程序使用Javascript框架/庫,例如Jquery和angular JS。

網頁上有一個輸入字段,我可以在其中輸入<script>alert(1)</script>. Web應用程序通過AJAX響應(json響應)將輸入發送回。 我可以在網頁上反映出我的輸入,但是我提供的用於測試XSS的javascript有效負載無法執行。 我已經在谷歌瀏覽器和IE中對其進行了測試。

我已經檢查了AJAX響應,並且沒有輸出編碼。

盡管標題X-XSS-Protection:1; mode = block存在,我看不到Google chrome控制台中有關阻止不安全腳本的任何錯誤(如果chrome阻止執行不安全的javascript,我們通常會收到此錯誤)。

我檢查了以下網址,以了解angual-js是否默認輸出編碼/轉義。 https://docs.angularjs.org/guide/security,但請不要完全了解。

當我檢查元素即輸入( <script>alert(1)</script> )時,得到以下內容:

<textarea rows="3" ng-model="abc" maxlength="500" placeholder="xyz" ng-readonly="abcd>1" input-restrictor="" class="ng-pristine ng-valid ng-valid-maxlength ng-not-empty ng-touched" aria-multiline="true" aria-invalid="false" readonly="readonly"></textarea>

有什么見解為什么我的JS有效負載未在瀏覽器中執行?

終於我得到了答案。 AngularJS在呈現內容之前不會輸出編碼。 我們的有效載荷-

<script>alert('xss')</script>

變成如圖所示的樣子。 瀏覽器將其視為純文本而不是javascript,因此不會執行。

僅當您檢查元素並右鍵單擊並編輯為HTML時,才能看到輸出編碼。 我還在這里https://medium.com/@nav7neeet/angular-js-and-xss-458eea91f3a5撰寫了更詳細的博客文章

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM