黑客攻防技术宝典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 服务器层)
来保护这些资源,但通常情况下并非如此。应立即检查是否可以不经验证而访问
这些资源。

猜你喜欢

转载自www.cnblogs.com/landesk/p/10888402.html