猫宁!!!跨域
参考连接:http://www.ituring.com.cn/book/885浏览器
随书答案。缓存
1. 已知一项应用程序功能将一个查询字符串参数的内容插入到某个 HTTP 重定
向的 Location 消息头中。利用这种行为,攻击者能够实施哪 3 种不一样类型的攻
击?服务器
(a) 任何重定向都会增长钓鱼攻击的可信度;
(b) 注入 cookie 消息头以利用会话固定漏洞;
(c) 经过响应分割攻击来毒害代理服务器的缓存。cookie
2. 要针对应用程序的一项敏感功能实施 CSRF 攻击,必须知足什么前提条件?框架
攻击者必须可以提早肯定提交给该功能的全部相关参数。也就是说,这些参
数不得包含任何秘密或没法预测的值,即攻击者不劫持受害者的会话就没法设置
的值。dom
3. 哪 3 种防护措施可用于防止 JSON 劫持攻击?测试
(a) 标准的反 CSRF 防护,即在针对包含敏感数据的 JavaScript 对象的请求
中包括没法预测的参数;
(b) 在 JavaScript 响应的开头部分插入无效或存在问题的 JavaScript;
(c) 强制使用 POST 方法来检索 JavaScript 对象。网站
4. 对于如下每一种技术,肯定该技术请求/crossdomain.xml 以正确实施域隔离
的任何情形:
(a) Flash
(b) Java
(c) HTML5
(d) Silverlight代理
(a) 当某个 Flash 对象尝试提出跨域请求并检索响应时,Flash 将请求
/crossdomain.xml 文件。即便该对象指定了应从中加载跨域策略的其余位置,
Flash 仍然会请求/crossdomain.xml,以确认主策略是否容许这样作。
(b) Java 不会经过请求/crossdomain.xml 来检查跨域策略。
(c) HTML5 不会经过请求/crossdomain.xml 来检查跨域策略。
(d) 当某个 Silverlight 对象尝试提出跨域请求并检索响应时,Silverlight 将
请求/crossdomain.xml 文件,前提是 Silverlight 首先请求的
/clientaccesspolicy.xml 文件不存在。
5.“咱们不会受到单击劫持攻击,由于咱们不使用框架。”以上表述是否正确,
为何?
单击劫持攻击是指攻击者的网站建立一个包含易受攻击的网站的框架。它们与目
标站点自己是否采用框架无关。
6. 已知某应用程序使用的昵称中存在一个永久性 XSS 漏洞,此字符串仅在配置
它的用户登陆应用程序时向该用户显示。请描述用于攻破该应用程序的其余用户
的攻击所需执行的步骤。
可使用如下步骤对这个漏洞加以利用:
(a) 攻击者在应用程序上建立本身的帐户,并在本身的昵称中插入一个恶意有效
载荷;
(b) 攻击者建立本身的站点,使访问者使用攻击者的证书登陆易受攻击的应用程
序(经过针对登陆功能的 CSRF 攻击),而后请求包含恶意昵称的页面。
(c) 受害者受到诱惑访问攻击者的网站时,将登陆易受攻击的应用程序,攻击者
的 JavaScript 同时执行。该脚本将保存在受害者的浏览器中,并退出应用程序,
同时呈现某些诱使受害者使用本身的证书登陆的内容。若是受害者受到诱惑,则
攻击者的脚本就能够攻破受害者的证书及生成的会话。从受害者的角度看,这种
攻击简直“完美无缺”,本身只是单击了一个连接,而后就看到易受攻击的应用
程序自己的登陆功能。
7. 如何测试应用程序是否容许使用 XMLHttpRequest 提出跨域请求?
能够在每一个请求中添加如下消息头:
Origin: attacker.com
而后看应用程序的响应中是否包含如下消息头:
Access-Control-Allow-Origin
若是包含,则能够经过此消息头肯定应用程序容许与哪些外部域(若是有)进行
双向交互。
8. 请描述攻击者可诱使受害者使用任意 cookie 的 3 种方法。
(a) 一些应用程序功能接受任意参数名称/值,并在响应中的 cookie 内设置这些
值。
(b) 能够利用任何 HTTP 消息头注入或 XSS 漏洞为受影响的域设置任意 cookie。
(c) 中间人攻击者能够为任意域设置 cookie。