《黑客攻防技术宝典:Web实战篇》习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《黑客攻防技术宝典:Web实战篇》习题答案(一)
(2012-02-26 11:18:30)
转载▼
分类:习题答案
标签:
杂谈
译者按:以下为《黑客攻防技术宝典:Web实战篇》一书第二版中的习题答案,特在此推出。如果读者发现任何问题,请与本人联系。英文答案请见:
/wahh/answers1e.html。
如有转载,请注明出处。谢谢!
第2章:核心防御机制
1.为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制?
典型的应用程序使用三重机制(身份验证、会话管理和访问控制)来处理访问。这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制机制的效率。
例如,攻击者可以利用身份验证机制中的漏洞以任何用户身份登录,并因此获得未授权访问权限。如果能够预测令牌,攻击者就可以假冒成任何已登录用户并访问他们的数据。
如果访问控制不完善,则任何用户都可以直接使用应该受到保护的功能。
2.会话与会话令牌有何不同?
会话是服务器上保存的一组数据结构,用于追踪用户与应用程序交互的状态。会话令牌是应用程序为会话分配的一个特殊字符串,用户需要在连接提出请求的过程中提交该字符串,以重新确认自己的身份。
3.为何不可能始终使用基于白名单的方法进行输入确认?
许多时候,应用程序可能会被迫接受与已知为“良性”输入的列表或模式不匹配的待处理数据。例如,许多用户的姓名包含可用在各种攻击中的字符。如果应用程序希望允许用户以真实姓名注册,就需要接受可能的恶意输入,并确保安全处理这些输入。
4.攻击者正在攻击一个执行管理功能的应用程序,并且不具有使用这项功能的任何有效
证书。为何他仍然应当密切关注这项功能呢?
攻击者可以利用任何访问控制核心机制中的缺陷未授权访问管理功能。此外,攻击者以低权限用户身份提交的数据最终将向管理用户显示,因此,攻击者可以提交一些恶意数据,用于在管理用户查看这些数据时攻破他们的会话,从而对管理用户实施攻击。
5.旨在阻止跨站点脚本攻击的输入确认机制按以下顺序处理一个输入:
(1) 删除任何出现的
是。如果没有第4步,此机制将是可靠的,能够过滤其旨在阻止的特定项目。但是,由于输入在执行过滤步骤后被解码,攻击者只需要对有效载荷中的选定字符进行URL编
码,就可以避开这种过滤:
">
如果首先执行第4步,或根本不执行该步骤,攻击者将不可能避开上述过滤。
第3章:Web应用程序技术
1.OPTIONS方法有什么作用?
OPTIONS方法要求服务器报告可用于特定资源的HTTP方法。
2.If-Modified-Since和If-None-Match消息头的作用是什么?它们为何引起攻击者的兴趣?
If-Modified-Since消息头用于指定浏览器最后一次收到被请求的资源的时间。
If-None-Match消息头用于指定实体标签,在最后一次收到被请求的资源时,服务器与被请求的资源一起发布该标签。
在上述两种情况下,这些消息头用于支持浏览器中的内容缓存,服务器通过它们指示浏览器使用资源的缓存副本,而非资源的完整内容(如果这样做没有必要)。
在攻击应用程序时,浏览器可能已经缓存了攻击者感兴趣的资源(如JavaScript文件)副本。如果删除这两个消息头,就可以覆写浏览器的缓存信息,确保服务器以攻击者希望查看的新的资源副本做出响应。
3.当服务器设置cookie时,secure标签有什么意义?
secure标签用于向浏览器发出以下指示:只应通过HTTPS连接、绝不能通过未加密的HTTP连接重新提交cookie。
4.常用状态码301与302有什么不同?
301状态码告诉浏览器被请求的资源已永久移动到其他位置。在当前浏览器会话期间,如果浏览器需要访问最初请求的资源,它将使用在301响应中指定的位置。
302状态码告诉浏览器被请求的资源已临时移动到其他位置。下次浏览器需要访问最初请求的资源时,它将从最初请求的位置请求此资源。
5.使用SSL时,浏览器如何与Web代理实现互操作?
浏览器向代理发送一个CONNECT请求,将目标主机名和端口号指定为此请求中的
URL。如果代理允许该请求,它将返回一个状态码为200的HTTP响应,使TCP连接保持开放,并在随后作为指定目标的纯TCP级中继。
第4章:解析应用程序
1.当解析一个应用程序时,会遇到以下URL:
https:///CookieAuth.dll?GetLogon?curl=Z2Fdefault.aspx
据此可以推论出服务器使用何种技术?该技术的运作方式可能是怎样的?
文件名CookieAuth.dll说明应用程序正使用Microsoft ISA Server。这是登录功能的URL,成功登录后,应用程序将重定向到URL /default.aspx。
2.如果所针对的应用程序是一个Web论坛,并且只发现了一个URL:
/forums/ucp.php?mode=register
如何通过它获得论坛成员列表?
此URL是phpBB Web论坛软件的常用“指纹”。因特网上提供了有关此软件的大量信息,读者可以自己安装该软件以进行体验。可以通过以下URL获取成员列表:
/forums/memberlist.php