猫宁!!!

参考链接: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. Effective C++ 条款八 别让异常逃离析构函数

    class DBConn //这个class用来管理DBConnction对象 { public:   //自己设计一个新的DBConn接口 方法3 void close() { db.close() ...

  2. HDU 1284 钱币兑换问题 (完全背包)

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  3. Python——list切片

    前文简单介绍了Python中的list和它常用的一些函数,知道list是一个有序的数据集合,那么我们如何获取list中的元素呢? Index: 与C语言中数组一样,list可以通过每个元素的index ...

  4. HashMap底层原理以及与ConCurrentHashMap区别

    HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bu ...

  5. Linux MySQL主从复制(Replication)配置

    MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...

  6. bash_profile打不开怎么办,用nano .bash_profile打开

    I’ve spent years curating a collection of Mac bash aliases and shortcuts to make my life easier. My ...

  7. DRF之视图组件 三次封装

    1.为什么要进行封装 1.1 在处理表的时候,如果有几十张表都需要增删改查查时,如果每一张表都写这些方法,会让代码显得冗余,所以需要将这些方法进行封装,然后不同的表都去继承这写方法.(这是思路) 1. ...

  8. armel、armhf和arm64

    1 这些名词是什么的缩写 1.1 armel 是arm eabi little endian的缩写.eabi是软浮点二进制接口,这里的e是embeded,是对于嵌入式设备而言. 1.2 armhf 是 ...

  9. android支付

    这里不讲具体的某个平台的支付使用,在工作中,公司使用到了ping++支付,使用它的好处是可以不用关心某个平台的支付了,例如:微信支付.支付宝支付等,太多的平台有个整合,是一个很好的事情,当然这也减轻了 ...

  10. Axure Base 09 带遮罩层的弹出框

    示例原型下载:小楼Axure原创元件-带遮罩层的弹出框 实现目标: 1.   点击按钮弹出带遮罩层的对话框: 2.   页面上下左右滚动时,弹出的对话框水平和垂直始终居中. 实现步骤如下: 1. 拖入 ...