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

猫宁!!!

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

随书答案。

1. 一个应用程序可能通过使用 HTTP Referer 消息头实施访问控制,但它的正常
行为并没有公开表露这一点。如何检测出这种缺陷?

选择一系列你有权访问的重要应用程序功能。通过提交经过修改的 Referer
消息头或不带该消息头的请求访问以上每一项功能。如果应用程序拒绝这些请
求,则说明它很可能易于受到攻击。然后,尝试通过另一个不具有相关权限的用
户提出相同的请求,但每次提交原始的 Referer 消息头。如果应用程序现在接受
这些请求,则说明应用程序肯定易于受到攻击。

2. 登录一个应用程序后,被重定向到以下 URL:
https://wahh-app.com/MyAccount.php?uid=1241126841
应用程序似乎向 MyAccount.php 页面提交一个用户标识符。已知的唯一标识符是
自己的标识符。如何测试应用程序是否使用这个参数以不安全的方式实施访问控
制?

应测试以下测试(按效率排序):
(1) 使用相同的语法格式将 uid 值修改为其他值。如果应用程序仍然返回你
自己的账户资料,则说明应用程序可能不易于受到攻击。
(2) 如果能够注册或以其他方式访问另一个用户账户,可以使用该账户登录以获
得其他用户的 uid 值。然后使用自己的原始用户权限,并用这个新 uid 值替代自
己的 uid 值;如果这时应用程序显示有关其他用户的敏感数据,则说明应用程序
易于受到攻击。
(3) 使用一段脚本从自己的 uid 获得数千个值,并确定(如果提交这些值)应用
程序是否会返回任何其他用户的资料。
(4) 使用一段脚本请求介于 0 和 9999999999 之间的随机 uid 值(在本示例
中),并确定应用程序是否会返回任何其他用户的资料。

3. 因特网上的一个 Web 应用程序通过检查用户的来源 IP 地址实施访问控制。为
什么这种行为可能存在缺陷?

攻击者可以假冒其他用户的 IP 地址,虽然实际上要做到这一点可能极其困
难。更重要的是,如果因特网上的多个终端用户位于同一 Web 代理服务器或 NAT
防火墙之后,则这些用户可能共享同一 IP 地址。
在这种情况下,要使基于 IP 的访问控制发挥效率,一种方法是将其作为深层防
御措施,以确保尝试访问管理功能的用户位于组织的内部网络中。当然,那些功
能还应由强大的身份验证和会话处理机制进行保护。

4. 某应用程序的唯一用途是为公众提供可搜索的信息仓库。该应用程序并未使
用任何验证或会话管理机制。该应用程序应执行何种访问控制?

该应用程序并未对访问权限进行任何水平或垂直划分,因此没有必要实施访
问控制来区分不同的个体用户。
即使所有用户均属于同一类别,应用程序仍然需要限制用户可以执行的操
作。一个强健的解决方案是应用最低权限原则,以确保应用程序体系架构中的所
有用户角色具有运行应用程序所需的最小权限。例如,如果用户只需要对数据的
读取访问权限,则应用程序应使用一个低权限账户(仅具有对相关表的只读权限)
来访问数据库。

5. 在浏览一个应用程序的过程中遇到几个应防止未授权访问的敏感资源,它们
的文件扩展名为.xls。这种情况为何应立即引起注意?

这些文件为 Excel 电子表格,它们属于静态资源,应用程序无法对其实施任何访
问控制(如通过动态脚本)。应用程序可能会通过其他方法(如 Web 服务器层)
来保护这些资源,但通常情况下并非如此。应立即检查是否可以不经验证而访问
这些资源。

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

时间: 2024-10-07 13:28:00

黑客攻防技术宝典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实战篇:攻击应用程序架构习题

猫宁!!! 参考链接: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. 登录一个应用程序后,服务器建立以下 cookie:Set-cookie: sessid=amltMjM6MTI0MToxMTk0ODcwODYz;一个小时后,再次登录并得到以下 cookie:Set-cookie: sessid=amltMjM6MTI0MToxMTk0ODc1MTMy;通过这些 cookie,可以得出什么推论? sessid cookie 包含一个 Base64 编码的

黑客攻防技术宝典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) 脚本文件包含 这个问

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

猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 何为强制浏览?可以通过它确定哪些漏洞? 强制浏览包括避开浏览器导航对应用程序功能访问顺序实施的任何限制.应使用强制浏览测试多阶段过程或其他区域中的错误假设.通常,这些假设会导致可以通过使用强制浏览加以利用的访问控制漏洞. 2. 为防止不同类型的攻击,应用程序对用户输入实施各种全局过滤.为防止 SQL注入,它将出现在用户输入中的单引号配对.为防止针对一些本地代码组件的缓冲区溢出攻击,它将超