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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Ajax XHR2允许来源-这可以伪造吗?_Ajax_Security_Xmlhttprequest_Cross Domain_Cors - Fatal编程技术网

Ajax XHR2允许来源-这可以伪造吗?

Ajax XHR2允许来源-这可以伪造吗?,ajax,security,xmlhttprequest,cross-domain,cors,Ajax,Security,Xmlhttprequest,Cross Domain,Cors,关于通过XHR2/CORS访问的资源阻止请求的方式,除非请求来自白名单域: 读取哪个标头以确定引用方域-它是标准HTTP\U引用方吗 有人能假装来自另一个域发送请求吗 我知道CORS不是一种可靠的数据安全手段——我只是出于好奇才这样问的。读取的标题是Origin。与任何HTTP头一样,它也可以伪造。COSR背后的思想是在确保用户安全/防止滥用用户会话的同时,允许发送数据。禁止跨域请求是为了保护用户,而不是服务器 攻击者应发送请求,假装这是另一个域,并发送用户拥有的cookies。这不是你能通

关于通过XHR2/CORS访问的资源阻止请求的方式,除非请求来自白名单域:

  • 读取哪个标头以确定引用方域-它是标准HTTP\U引用方吗
  • 有人能假装来自另一个域发送请求吗

我知道CORS不是一种可靠的数据安全手段——我只是出于好奇才这样问的。

读取的标题是
Origin
。与任何HTTP头一样,它也可以伪造。COSR背后的思想是在确保用户安全/防止滥用用户会话的同时,允许发送数据。禁止跨域请求是为了保护用户,而不是服务器


攻击者应发送请求,假装这是另一个域,并发送用户拥有的cookies。这不是你能通过
XSS
单独实现的——你必须窃取cookie并自己发送请求。但是您不能从站点B窃取站点A的cookie。但是,如果A接受来自任何域的请求,您可以通过B上的XSS欺骗用户的浏览器向A发送请求,浏览器将发送cookie,您可以读回响应。

源站标头包含请求域

此浏览器完全控制此标题,不能伪造。浏览器代表用户控制此标题,用户的不能覆盖JS代码中的值

注意,我说的是“浏览器”;与任何HTTP请求一样,用户可以用任何
Origin
头创建一个curl请求。但是,这是一种有限的攻击向量,因为黑客必须欺骗一个有效的用户发出正确的卷曲请求,这是不可能的。