2017-09-24 13 views
2

私はクロスサイトスクリプトのインクルードを理解しようとしています。私はセバスチャン・レケス(click here for paperslidevideo link)の論文を読んで、それについていくつか考えました。ここで動的javascriptを検出することは方法論の一部であり、ここではいくつかの混乱があります。xssiの動的javascriptを検出する

正確には、動的なjavascript検出を意味します。ここでは、同じスクリプトファイルが2回要求されることが伝えられています。 1つは認証付きで、もう1つは無しです。私の混乱は、私が要求する場合script.jsファイルを2回どのように異なることができると仮定しています。サーバーは、常に同じコード行を使用してファイルを送信します。ではない..??

スクリプトファイルを取得した後、ブラウザはファイルを実行し、終了すると、ファイルが異なる場合があります。

仮定する、ここ

$http.get("home/GetInfo", function(response){ 
    $scope.userName = response; 
}); 

$scope.userName値が異なる場合がありますが、スクリプトファイルは同じままになります。

私の理解に何が間違っていますか?

答えて

0

ダイナミックJavaScriptは、クライアントに送信される前に、スクリプトファイルがサーバーによって処理され、クッキーなどに基づいて値を挿入する場所です。これは、クライアントに初期データを渡すために使用されることがあります。

だから、スクリプトファイルの内容は次のように次のようになります。

sessionId = "<%= getSessionId() %>"; 

$http.get("home/GetInfo?sessionId="+sessionId, function(response){ 
    $scope.userName = response; 
}); 

し、それを要求するとき、あなたのような何かを得る:

sessionId = "d8e8fca2dc0f896fd7cb4cb0031ba249"; 

$http.get("home/GetInfo?sessionId="+sessionId, function(response){ 
    $scope.userName = response; 
}); 

セッションIDのリテラルは、スクリプトのは、要求されるたびに異なるだろうが、どの動的JavaScriptが使用されたことが検出されたときに検出されます。

+0

これは.jsファイルではありません。それは.jspか.cshtmlかそのようなものかもしれません。したがって、それはjsファイルではありません、どのように私は紙のように(認証の有無にかかわらず)スクリプトファイルを2回要求することができますか? –

+0

@SadidKhanクッキーの値に基づいて別々に生成されたjsファイルが見つかりました。まず彼らはサイトにログインし、すべてのjsファイルの内容を追跡しました。その後、Cookieを有効にせずに同じファイルを再度要求しました。彼らはカスタムエクステンションを使用しましたが、リクエスト間でサイトに手動でログインしたり、ログインしたりすることで同じ結果を得ることができます。 – fgb

関連する問題