javascript - 检测 xssi 的动态 javascript

标签 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 值可能不同,但脚本文件将保持不变。

我的理解有什么问题..?

最佳答案

动态 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。

关于javascript - 检测 xssi 的动态 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393904/

相关文章:

javascript - 如何在 HTML 中显示数组以便将数字分成新行

javascript - 带过滤器的高级 PDF/HTML 模板打印

javascript - 在js脚本中创建同一组件的多个vue元素

php - 在将用户输入存储到数据库之前对其进行转义/编码或将其按原样存储在数据库中并在检索时转义它更好吗?

css - 自定义 Tumblr *新* 点赞按钮 iFrame {LikeButton}

javascript - "Inject"现有应用程序中的 JavaScript 用于操作 UI (qwebirc)

javascript - 从成功处理程序中获取结果

ruby-on-rails - Rails 默认的 CSRF 保护不安全吗?

xss - 在验证用户输入字段时不允许 HTML 表格的原因是什么?

javascript - 跨站点 xmlhttp 请求返回状态 0