第三方脚本读取不到受保护的凭证时,为何仍可能借助页面能力接管账号
简答题困难920 次浏览
参考答案与解析
# 核心结论
HttpOnly 只能阻止页面脚本通过 document.cookie 直接读取对应的会话 Cookie,不能降低已经在页面源内运行的恶意脚本的权限。第三方统计、客服或广告脚本一旦被篡改,或者通过跨站脚本漏洞获得执行能力,通常可以继承当前页面的源权限,读取页面数据、监听输入、修改表单,并调用同源接口。浏览器会自动携带满足条件的会话 Cookie,所以攻击者不需要取得凭证值,也可能借用现有会话完成改密、绑定设备、生成访问令牌等账号接管操作。
# 底层机制
浏览器的同源模型区分不同来源,却不会区分同一页面内的业务脚本、第三方脚本和恶意脚本。只要代码在可信页面的执行上下文中运行,就可能访问该页面允许
