为什么跨域AJAX请求被标记为“安全风险”?
默认情况下,浏览器不允许跨站点AJAX请求。
我了解,设想不正确的跨域请求可能
会带来安全风险。如果我使用外部站点的html或javascript,然后将其“呈现”到我的网站中,那就是一个问题。该外部代码可用于处理许多不良情况,例如访问当前用户的会话数据。
但是,如果我仅请求JSON或XML数据,并且使用适当的库来解析JSON(而不仅仅是使用eval),我将无法想象这会带来安全风险。更糟糕的是,来自该站点的内容无法正确呈现。
我有什么想念的吗?是否可以仅通过发送某种恶意数据来破坏读取json / xml的页面?
回答:
风险不在于发出请求的网站。
例如:
- 爱丽丝访问她的银行并登录。
- 然后,她访问邪恶站点。
- 邪恶网站使用JavaScript导致爱丽丝的浏览器向她的银行提出请求
- 她的银行以Alice的帐户详细信息作为响应并将其传递给JavaScript
- 然后,JavaScript将它们传递给Evil Site的控制器
简而言之,它可以防止攻击者从具有Alice身份的任何站点(以及位于防火墙之后的站点,例如Alice的公司Intranet)读取私有数据。
请注意,这不会阻止不依赖于能够从站点(CSRF)读取数据的攻击,但是如果没有相同来源策略,针对CSRF的标准防御将很容易被击败。
以上是 为什么跨域AJAX请求被标记为“安全风险”? 的全部内容, 来源链接: utcz.com/qa/402395.html