Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过脚本注入实现远程控制_Javascript_Security_Google Chrome Extension_Same Origin Policy_Javascript Injection - Fatal编程技术网

Javascript 通过脚本注入实现远程控制

Javascript 通过脚本注入实现远程控制,javascript,security,google-chrome-extension,same-origin-policy,javascript-injection,Javascript,Security,Google Chrome Extension,Same Origin Policy,Javascript Injection,一些服务器允许我们动态插入src不同于页面域的脚本元素 由于同源策略,我们无法将数据发送到另一台服务器,但我们可以执行以下操作: 删除某些邮件服务中的所有电子邮件 在商店里下订单 在社交网络上写消息等等 因为脚本是从服务器A注入到页面x中的,并且请求正在对服务器A执行,这里没有任何问题-同源策略不起作用 默认情况下服务器不受此保护吗? 在受保护的服务器上,我们得到了以下信息: 拒绝加载脚本,因为它违反了以下内容安全策略指令:“script src'safe eval''safe inline

一些服务器允许我们动态插入src不同于页面域的脚本元素

由于同源策略,我们无法将数据发送到另一台服务器,但我们可以执行以下操作:

  • 删除某些邮件服务中的所有电子邮件
  • 在商店里下订单
  • 在社交网络上写消息等等
因为脚本是从服务器A注入到页面x中的,并且请求正在对服务器A执行,这里没有任何问题-同源策略不起作用

默认情况下服务器不受此保护吗?

在受保护的服务器上,我们得到了以下信息:

拒绝加载脚本,因为它违反了以下内容安全策略指令:“script src'safe eval''safe inline”

这样的脚本可以包装到chrome扩展中并安装。(我在这里错了吗,或者扩展受到了更多的限制?

这里是inject.js,假设服务器正在使用delete emails参数处理请求:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://stackoverflow.com/?delete-emails');
xhr.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
        console.log(location.href);
    }
};
xhr.send();
例如,如果我将脚本元素(插入head)插入stackoverflow.com页面,我会得到
200ok

因为脚本是从服务器A注入到页面x中的,并且请求正在对服务器A执行,这里没有任何问题-同源策略不起作用

默认情况下,服务器不受此保护吗

没错。你所描述的是,同一原产地政策并不能保护你免受其害

在受保护的服务器上,我们得到了以下信息:

拒绝加载脚本,因为它违反了以下内容安全策略指令:“script src'safe eval''safe inline”

这与同一原产地政策不同。这是一种允许服务器声明其页面允许执行的限制的机制。这有助于防止XSS,因为即使攻击者能够注入脚本,浏览器也不会允许它违反CSP

这样的脚本可以包装到chrome扩展中并安装

一般来说,您应该假设浏览器扩展允许各种不安全的操作,这些操作不受常见浏览器安全策略的影响。不同的浏览器扩展框架提供不同的安全保证,但这并不是跨浏览器标准化的东西。如果你有一个关于Chrome允许什么的特定问题,你可能应该发布一个单独的问题

因为脚本是从服务器A注入到页面x中的,并且请求正在对服务器A执行,这里没有任何问题-同源策略不起作用

默认情况下,服务器不受此保护吗

对。您所描述的是,同一原产地政策并不能保护您免受其影响

在受保护的服务器上,我们得到了以下信息:

拒绝加载脚本,因为它违反了以下内容安全策略指令:“script src'safe eval''safe inline”

与同源策略不同。这是一种允许服务器声明其页面允许执行的限制的机制。这有助于防止XSS,因为即使攻击者能够注入脚本,浏览器也不会允许其违反CSP

这样的脚本可以包装到chrome扩展中并安装

一般来说,您应该假设浏览器扩展允许各种不安全的操作,这些操作不受常见浏览器安全策略的影响。不同的浏览器扩展框架提供不同的安全保证,但这不是跨浏览器的标准化操作。如果您对Chrome yo允许的操作有特定的疑问你可能应该发布一个单独的问题

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://stackoverflow.com/?delete-emails');
xhr.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
        console.log(location.href);
    }
};
xhr.send();