2017-08-23 4 views
0

セキュリティ脆弱性のために強化コードチェッカーを実行しようとしていますが、setTimeoutと標準のサードパーティコードライブラリのインスタンスを使用している場合があります。それらを修正する方法がわからない。強化チェックでフラグが立てられた動的コードインジェクションの問題を修正しました

私のJSファイル

var hasHash = document.location.hash; 

     if (hasHash) { 
      if ($.browser.msie) { 
       setTimeout(function() { 
        MOM.utils.scrollTo(MOM.$window.scrollTop() - 60); 
       }, 1000); 
      } 
      else { 
       MOM.utils.scrollTo(MOM.$window.scrollTop() - 60); 
      } 
     } 

ファイルall.jsは 攻撃者が悪意のあるコードを実行できるようにすることができ、実行時にユーザ制御の指示を解釈 ライン7982.上でソースコードとして未検証のユーザー入力を解釈します。私はいくつかのフォームフィールドのインライン編集を実装するために使用していますbootstrap.editable.jsでライン1とライン4(のsetTimeout)

タイムアウト機能上の

国旗。すべての3つのファイルに同じエラーを取得selectivizr.js

if (enabledWatchers.length > 0) { 
      setInterval(function() { 
       for (var c = 0, cl = enabledWatchers.length; c < cl; c++) { 
        var e = enabledWatchers[c]; 
        if (e.disabled !== e.$disabled) { 
         if (e.disabled) { 
          e.disabled = false; 
          e.$disabled = true; 
          e.disabled = true; 
         } 
         else { 
          e.$disabled = e.disabled; 
         } 
        } 
       } 
      },250) 
     } 

if(this.options.highlight) { 
       var $e = this.$element, 
        bgColor = $e.css('background-color'); 

       $e.css('background-color', this.options.highlight); 
       setTimeout(function(){ 
        if(bgColor === 'transparent') { 
         bgColor = ''; 
        } 
        $e.css('background-color', bgColor); 
        $e.addClass('editable-bg-transition'); 
        setTimeout(function(){ 
         $e.removeClass('editable-bg-transition'); 
        }, 1700); 
       }, 10); 
      } 

のsetInterval機能。これらのJSコマンドをどのように置き換えるか、サードパーティのライブラリをどう扱うかは不明です。これらのセキュリティ上の脆弱性に対処するための良いアプローチは何ですか?

答えて

0

Selectivizrは、EI 9以下のUIと互換性を持たせるために主に使用されます。そして主にCSS関連のものに関心があります。データは外部からのものではありません。私たちはそれを偽陽性と見なすことができますが、率直に言ってもわかりません。しかし、Selectivizr.jsの代わりに条件付きコメントOR htmlshiv.jsを試すことができます

関連する問題