黑客攻防技术宝典web实战篇:攻击会话管理习题

猫宁!!!

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

随书答案。

1. 登录一个应用程序后,服务器建立以下 cookie:
Set-cookie: sessid=amltMjM6MTI0MToxMTk0ODcwODYz;
一个小时后,再次登录并得到以下 cookie:
Set-cookie: sessid=amltMjM6MTI0MToxMTk0ODc1MTMy;
通过这些 cookie,可以得出什么推论?

sessid cookie 包含一个 Base64 编码的字符串。解码收到的两个 cookie 可
得到以下值:
jim23:1241:1194870863
jim23:1241:1194875132
解码后的 cookie 包含三个以分号分隔的数据项。初看来,这三个值可能包含用
户名、数字用户标识和一个不断变化的数值。最后一项包含 10 个数字,看起来
像一个 Unix 时间值。转换这两个值后得到以下信息:
Mon, 12 Nov 2007 12:34:23 UTC
Mon, 12 Nov 2007 13:45:32 UTC
这表示创建会话的时间。
因此,会话令牌似乎由有意义的用户相关数据和一个可预测的数据项构成。
理论上,可以实施蛮力攻击来猜测发布给其他应用程序用户的令牌。

2. 某个应用程序使用由 6 个字符组成的数字字母会话令牌和由 5 个字符组成的
数字字母密码。它们全都由某种无法预测的算法随机生成。其中哪一个最有可能
成为蛮力猜测攻击的目标?列出影响你做出决策的各种不同因素。

与由 5 个字符组成的密码相比,由 6 个字符组成的会话令牌的可能值要多得
多。因此,似乎较短的密码是最有价值的攻击目标。
但是,针对密码的蛮力攻击与针对会话令牌的蛮力攻击之间存在一些重要的
差异。在尝试猜测密码时,必须同时提交用户名和密码,因此每个请求最多只能
针对一个账户发动攻击,甚至可能无法针对任何账户发动攻击。你可能已经知道
一些用户名,或者能够枚举出用户名,或者可能需要同时猜测用户名和密码。登
录机制可能包含多个阶段,或者响应速度较慢。登录机制还可能实施了账户锁定
机制,这会显著降低你的攻击速度。
另一方面,在尝试猜测会话令牌时,通常可以同时针对多个用户。应用程序
中可能有 20、2000 或 0 位已登录用户。如果某位用户当前并未登录,则无法以
这种方式对其实施攻击。在收到大量无效令牌时,应用程序根本没有办法实施任
何类型的“锁定”。正常情况下,令牌猜测攻击的速度非常快,通常,包含无效
令牌的请求会立即收到包含错误消息或重定向的响应。
简言之,这个问题并没有确定的答案。哪一个是最有价值的目标,将取决于你的
目的和应用程序的其他因素。如果许多用户都已登录并且只需要攻破其中一位用
户,则最好是针对会话实施攻击。如果希望攻破某个极少登录的管理账户,则实
施密码猜测攻击会更加有效。

3. 登录位于以下 URL 的一个应用程序后:
https://foo.wahh-app.com/login/home.php
服务器建立以下 cookie:
Set-cookie: sessionId=1498172056438227; domain=foo.wahhapp.
com; path=/login; HttpOnly;
然后访问下面的 URL。浏览器会将 sessionId cookie 提交给哪些 URL?(选出全
部答案。)

(1) https://foo.wahh-app.com/login/myaccount.php
(2) https://bar.wahh-app.com/login
(3) https://staging.foo.wahh-app.com/login/home.php
(4) http://foo.wahh-app.com/login/myaccount.php
(5) http://foo.wahh-app.com/logintest/login.php
(6) https://foo.wahh-app.com/logout
(7) https://wahh-app.com/login/
(8) https://xfoo.wahh-app.com/login/myaccount.php

(1) 是。其中的域和路径均与 cookie 范围相匹配。
(2) 否。其中的域与 cookie 的域范围不同,也不是它的子域。
(3) 是。其中的域是范围中指定的域的子域,且路径与范围相匹配。
(4) 是。其中的域和路径均与 cookie 范围相匹配。虽然采用了 HTTP 协议,但并
未指定 secure 标记,因此仍然会传送该 cookie。
(5) 是。其中的域与 cookie 范围相匹配。由于路径范围在/login 后并没有斜线,
因此,该范围将不仅包括路径/login/,而且包括任何其他与/login 前缀匹配的
路径。
(6) 否。其中的路径与 cookie 范围不匹配。
(7) 否。其中的域是在范围中指定的域的父域。
(8) 否。其中的域与 cookie 的域范围不同,也不是它的子域。

4. 所针对的应用程序除使用主会话令牌外,还使用每页面令牌。如果收到一个
不按顺序发送的每页面令牌,整个会话将被终止。假设发现了某种缺陷,可通过
它预测或截获应用程序发布给当前正在访问应用程序的其他用户的令牌,那么是
否能够劫持他们的会话?

攻击者仍有可能实施会话劫持攻击。如果攻击者获得了发布给某个用户的令
牌,就可以立即使用那些令牌提出请求,并且服务器将接受这些请求。但是,如
果该用户随后向应用程序提出另一个请求,其提交的每页面令牌将出现顺序错
误,整个会话将被终止。因此,如果用户仍然在与应用程序交互,则实施攻击的
可能性会非常低。如果攻击者只希望利用用户的权限执行特定操作,则可以实施
一次脚本攻击,在有限的时间间隔内执行所需操作。

5. 登录一个应用程序后,服务器建立以下 cookie:
Set-cookie: sess=ab11298f7eg14;
单击“退出”按钮后,应用程序执行以下客户端脚本:
document.cookie=”sess=”;
document.location=”/”;
通过这种行为,可以得出什么结论?

退出功能存在缺陷。
上述脚本将使浏览器中当前保存的会话令牌失效,也就是说,随后的任何请求将
不会提交之前的令牌值。然后,该脚本将启动一个指向应用程序起始页面的重定
向。任何访问受保护功能的尝试将遭到拒绝,因为相关请求并不属于通过验证的
会话的一部分。
但是,客户端应用程序并未将已执行了退出操作这一信息传达给服务器。服务器
上的用户会话将仍处于活动状态,如果将之前发布的令牌提交给服务器,服务器
将继续接受该令牌。在会话超时或以其他方式被清除之前,这种情况会一直持续。
在这段时间内,已通过某种方式截获或猜测出令牌值的攻击者就可以继续使用令
牌来劫持用户的会话。

原文地址:https://www.cnblogs.com/landesk/p/10888384.html

时间: 2024-08-05 10:51:24

黑客攻防技术宝典web实战篇:攻击会话管理习题的相关文章

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

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注,而随书附带有答案. 1. 为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制? 典型的应用程序使用三重机制(身份验证.会话管理和访问控制)来处理访问.这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制并访问他机制的效率.例如,攻击者可以利用身份验证机制中的漏洞以任何用户

《黑客攻防技术宝典Web实战篇》.Dafydd.Stuttard.第2版中文高清版pdf

下载地址:网盘下载 内容简介 编辑 <黑客攻防技术宝典(Web实战篇第2版)>从介绍当前Web应用程序安全概况开始,重点讨论渗透测试时使用的详细步骤和技巧,最后总结书中涵盖的主题.每章后还附有习题,便于读者巩固所学内容. <黑客攻防技术宝典(Web实战篇第2版)>适合各层次计算机安全人士和Web开发与管理领域的技术人员阅读.本书由斯图塔德.平托著. 目录 编辑 第1章 Web应用程序安全与风险 1.1 Web应用程序的发展历程 [1] 1.1.1 Web应用程序的常见功能 1.1.

黑客攻防技术宝典——web实战篇

第7章 攻击会话管理 在绝大多数Web应用程序中,会话管理机制是一个基本的安全组件.它帮助应用程序从大量不同的请求中确认特定的用户,并处理它收集的关于用户与应用程序交互状态的数据.会话管理在应用程序执行登录功能时显得特别重要,因为它可在用户通过请求提交他们的证书后,持续向应用程序保证任何特定用户身份的真实性. 由于会话管理机制所发挥的关键作用,它们成为针对应用程序的恶意攻击的主要目标.如果攻击者能够破坏应用程序的会话管理,他就能轻易避开其实施的验证机制,不需要用户证书即可伪装成其他应用程序用户.

黑客攻防技术宝典web实战篇:攻击访问控制习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 一个应用程序可能通过使用 HTTP Referer 消息头实施访问控制,但它的正常行为并没有公开表露这一点.如何检测出这种缺陷? 选择一系列你有权访问的重要应用程序功能.通过提交经过修改的 Referer消息头或不带该消息头的请求访问以上每一项功能.如果应用程序拒绝这些请求,则说明它很可能易于受到攻击.然后,尝试通过另一个不具有相关权限的用户提出相同的请求,但每次提交原始的 Refere

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

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 假设受攻击的应用程序使用两台不同的服务器:一台应用程序服务器和一台数据库服务器.已经发现一个漏洞,可以在应用程序服务器上执行任意操作系统命令.是否可以利用这个漏洞获取保存在数据库中的敏感应用程序数据? 几乎可以肯定能够利用该漏洞获取保存在数据库中的应用程序数据.应用程序本身必须拥有访问自己的数据所需的证书和权限.可以检查服务器端应用程序的脚本和配置文件,以了解它如何访问应用程序.要对所发

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

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在应用程序的行为中,有什么“明显特征”可用于确定大多数 XSS 漏洞? 用户提交的输入在应用程序对该输入的响应中原样返回. 2. 假设在应用程序未通过验证的功能区域发现了一个反射型 XSS 漏洞.如何利用这个漏洞攻破一个通过验证的应用程序会话?请想出两种不同的方法. 多数情况下,利用未通过验证的功能中的 XSS 漏洞一样可以针对已通过验证的用户实施有效攻击——这些功能与已通过验证的功能的

黑客攻防技术宝典web实战篇:攻击验证机制习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在测试一个使用joe和pass证书登录的Web应用程序的过程中,在登录阶段,在拦截代理服务器上看到一个要求访问以下 URL 的请求:http://www.wahh-app.com/app?action=login&uname=joe&password=pass如果不再进行其他探测,可以确定哪 3 种漏洞? (a) 由于证书在该 URL 的查询字符串中传送,因此,这些证书将面临通过浏

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

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果不采用特殊的防御措施,为什么栈缓冲区溢出比堆溢出更容易被攻击者利用? 利用基于栈的溢出,通常可以立即控制栈上的已保存返回地址,并因此控制当前功能返回的指令指针.可以将指令指针指向包含 shellcode 的任意地址(通常位于触发溢出的同一缓冲区内).利用基于堆的溢出,通常可以将内存中的任意指针设置为任意值.正常情况下,利用这种修改来控制执行流还需要采取其他步骤.此外,使堆缓冲区溢出后

黑客攻防技术宝典web实战篇:定制攻击自动化习题

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 指出使用自动技巧在应用程序中枚举标识符时用到的 3 个标识符“触点”. (a) HTTP 状态码(b) 响应长度(c) 响应主体的内容(d) Location 消息头的内容(e) 任何 cookie 的设置(f) 出现的任何时间延迟 2. 对于下面的每一类漏洞,指出一个可用于确定该漏洞的模糊测试字符串:(a) SQL 注入(b) OS 命令注入(c) 路径遍历(d) 脚本文件包含 这个问