检测xssi的动态javascript

时间:2017-09-24 19:17:44

标签: javascript xss cross-site

我正在尝试了解跨站点脚本包含。我已经阅读了sebastian lekeis(click here for paperslidevideo link)的论文,并对此有了一些了解。在这里检测动态javascript是方法论的一部分,我在这里有一些困惑。

动态javascript检测究竟意味着什么。这里告诉我将要求两次相同的脚本文件。一个有身份验证,另一个没有。但我的困惑是,如果我要求假设script.js文件两次,它会有什么不同。服务器将始终使用相同的代码行发送文件。不是.. ??

获取脚本文件后,浏览器将执行该文件,完成后该文件可能会有所不同。

假设,

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

此处$scope.userName值可能不同,但脚本文件将保持不变。

我的理解有什么不对??

1 个答案:

答案 0 :(得分:0)

动态JavaScript将是服务器处理脚本文件以在基于cookie等插入值之前将其发送到客户端的位置。这有时用于将一些初始数据传递给客户端。

因此脚本文件内容可能如下:

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;
});

每次请求脚本时,sessionId文字都会有所不同,检测到时会显示使用了动态JavaScript。