Ajax XHR2允许来源-这可以伪造吗?
关于通过XHR2/CORS访问的资源阻止请求的方式,除非请求来自白名单域:Ajax XHR2允许来源-这可以伪造吗?,ajax,security,xmlhttprequest,cross-domain,cors,Ajax,Security,Xmlhttprequest,Cross Domain,Cors,关于通过XHR2/CORS访问的资源阻止请求的方式,除非请求来自白名单域: 读取哪个标头以确定引用方域-它是标准HTTP\U引用方吗 有人能假装来自另一个域发送请求吗 我知道CORS不是一种可靠的数据安全手段——我只是出于好奇才这样问的。读取的标题是Origin。与任何HTTP头一样,它也可以伪造。COSR背后的思想是在确保用户安全/防止滥用用户会话的同时,允许发送数据。禁止跨域请求是为了保护用户,而不是服务器 攻击者应发送请求,假装这是另一个域,并发送用户拥有的cookies。这不是你能通
- 读取哪个标头以确定引用方域-它是标准HTTP\U引用方吗
- 有人能假装来自另一个域发送请求吗
我知道CORS不是一种可靠的数据安全手段——我只是出于好奇才这样问的。读取的标题是
Origin
。与任何HTTP头一样,它也可以伪造。COSR背后的思想是在确保用户安全/防止滥用用户会话的同时,允许发送数据。禁止跨域请求是为了保护用户,而不是服务器
攻击者应发送请求,假装这是另一个域,并发送用户拥有的cookies。这不是你能通过
XSS
单独实现的——你必须窃取cookie并自己发送请求。但是您不能从站点B窃取站点A的cookie。但是,如果A接受来自任何域的请求,您可以通过B上的XSS欺骗用户的浏览器向A发送请求,浏览器将发送cookie,您可以读回响应。源站标头包含请求域
此浏览器完全控制此标题,不能伪造。浏览器代表用户控制此标题,用户的不能覆盖JS代码中的值
注意,我说的是“浏览器”;与任何HTTP请求一样,用户可以用任何Origin
头创建一个curl请求。但是,这是一种有限的攻击向量,因为黑客必须欺骗一个有效的用户发出正确的卷曲请求,这是不可能的。