猫宁!!!

参考链接: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 服务器层)
来保护这些资源,但通常情况下并非如此。应立即检查是否可以不经验证而访问
这些资源。

最新文章

  1. js快捷输入日期
  2. 2016"百度之星" - 初赛(Astar Round2A)All X(数学 矩阵)
  3. Python基础二. 数据结构、控制流、运算符、真值测试
  4. VS小技巧
  5. ASP.NET发布WebService
  6. iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
  7. ios将一个项目完全导为另一个项目(tool)
  8. 一个简单的游标删除SQL SERVER表
  9. 基于Bresenham算法画圆
  10. ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
  11. SQLmap注入启发式检测算法
  12. 设置VMware10开机自启动并同时启动虚拟机镜像系统
  13. js 函数问题
  14. (转)EOSIO开发(三)钱包、账户与账户权限之概念篇
  15. windows核心编程
  16. 2019.02.09 codeforces451 E. Devu and Flowers(容斥原理)
  17. 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(二)
  18. ASP.NET中Literal,只增加纯粹的内容,不附加产生html代码
  19. 【BZOJ】【1007】【HNOI2008】水平可见直线
  20. TBitConverter

热门文章

  1. Effective C++ 条款八 别让异常逃离析构函数
  2. Codeforces 486E LIS of Sequence(线段树+LIS)
  3. debian apt-get工作的原理
  4. hive impala C++ Java垃圾回收 Garbage Collection GC
  5. 如何在退出Hue后关闭Spark会话
  6. NameNode和JobTracker的网络接口
  7. 按行读入xml文件,删除不需要的行 -Java
  8. POJ1797 Heavy Transportation —— 最短路变形
  9. 重入锁ReentrantLock用法以及如何实现重进入
  10. ping 中的“TTL"是什么意思