猫宁!!!

参考链接:http://www.ituring.com.cn/book/885

随书答案。

1. 已知一项应用程序功能将一个查询字符串参数的内容插入到某个 HTTP 重定
向的 Location 消息头中。利用这种行为,攻击者可以实施哪 3 种不同类型的攻
击?

(a) 任何重定向都会增加钓鱼攻击的可信度;
(b) 注入 cookie 消息头以利用会话固定漏洞;
(c) 通过响应分割攻击来毒害代理服务器的缓存。

2. 要针对应用程序的一项敏感功能实施 CSRF 攻击,必须满足什么前提条件?

攻击者必须能够提前确定提交给该功能的所有相关参数。也就是说,这些参
数不得包含任何秘密或无法预测的值,即攻击者不劫持受害者的会话就无法设置
的值。

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。

黑客攻防技术宝典web实战篇:攻击用户·其他技巧习题的更多相关文章

  1. 黑客攻防技术宝典web实战篇:测试后端组件习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受到操作系统命令注入 ...

  2. 黑客攻防技术宝典web实战篇:测试后端组件习题答案

    随书答案. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受 到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实 现的功能 ...

  3. 黑客攻防技术宝典web实战篇:利用信息泄露习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当探查 SQL 注入漏洞时,如果请求以下 URL:https://wahh-app.com ...

  4. 黑客攻防技术宝典web实战篇:解析应用程序习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当解析一个应用程序时,会遇到以下 URL:https://wahh-app.com/Coo ...

  5. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  6. 黑客攻防技术宝典web实战篇:核心防御机制习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注 ...

  7. 黑客攻防技术宝典web实战篇:攻击应用程序架构习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一 ...

  8. 黑客攻防技术宝典web实战篇:攻击其他用户习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应 ...

  9. 黑客攻防技术宝典Web实战篇(三)web攻击方式总结

    web攻击的手段无非就是使服务器资源耗尽,使服务器无法接收正常请求. 一.DDos攻击 二.DRDos攻击 三.慢攻击 与Ddos攻击相反,慢攻击并不是以多取胜,而是靠保持连接.

  10. 黑客攻防技术宝典web实战篇:攻击本地编译型应用程序习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果不采用特殊的防御措施,为什么栈缓冲区溢出比堆溢出更容易被攻击者利用? 利用基于栈的溢出 ...

随机推荐

  1. html5 式程序员表白

    html5 式程序员表白 王海庆 于 星期三, 04/06/2014 - 00:44 提交 今天是个好日子,2014年5月20日,表白的最佳时机,虽说孩子已经四岁.结婚已经五年.可是也不能够偷懒.于是 ...

  2. C#模拟登录Facebook 实现发送消息、评论帖子

    由于目前电脑网页版FB实现模拟登录比较困难,本次选择了FB的手机版页面进行登录 MVC: private static string UserName = "用户名"; priva ...

  3. jQuery源代码框架思路

    開始计划时间读源代码,第一节jQuery框架阅读思路整理 (function(){ jQuery = function(){}; jQuery一些变量和函数和给jQuery对象加入一些方法和属性 ex ...

  4. 通过/proc/cpuinfo判断CPU数量、Multicores、Multithreading、Hyper-threading

    http://blog.sina.com.cn/s/blog_4a6151550100iowl.html 判断依据:1.具有相同core id的cpu是同一个core的超线程.2.具有相同physic ...

  5. node.js内存泄露问题记录

    先说一下.事情的来龙去脉. 公司开发一款游戏棋牌游戏,服务端的开发是IO密集型,开发的时候,考虑过使用python,java,node.js. 终于选择了node.js(node.js宣传的杀手功能. ...

  6. IMP-00009 And IMP-00028

    导出文件异常结束” 错误,google一下,发现可能有如下原因导致 1.imp的数据太大,没有写buffer和commit 2.两个数据库字符集不同 3.从低版本exp的dmp文件,向高版本imp 4 ...

  7. 如何使用Visual Studio构建libiconv

    参考博文:How to Build libiconv with Microsoft Visual Studio - CodeProject libiconv源码下载地址:libiconv - GNU ...

  8. 5.3linux下C语言socket网络编程简例

    原创文章,转载请注明转载字样和出处,谢谢! 这里给出在Linux下的简单socket网络编程的实例,使用tcp协议进行通信,服务端进行监听,在收到客户端的连接后,发送数据给客户端:客户端在接受到数据后 ...

  9. js中的逻辑与(&&)与逻辑或(||)

    var foo = 1; var bar = 0; var tar = false; var baz = 2; 一.js中的逻辑与(&&) 1.当第一个数为true时,返回第二个数: ...

  10. hihocoder #1039 : 字符消除 ( 字符串处理类 ) 好久之前做的题目,具体的算法代码中阅读吧

    #1039 : 字符消除 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消 ...