第二周任务汇报——星期六

今天学习第八章,攻击访问控制。

访问控制,是一种应用程序的重要防御机制,一旦攻破,即可获取到应用所有权限。其漏洞原理在于攻击者执行了超出该应用程序权限的操作。

常见漏洞有三大类,垂直访问控制、水平访问控制、上下文访问控制。

涉及到漏洞的相关功能:

完全不受保护的功能(具有某种权限的URL,直接访问法),基于标识符的功能(避免方法,使用客户端提交的参数做出访问控制决定),多阶段功能(由于该功能请求较多,反而易造成不完善的访问控制),静态文件(攻击者可通过多方获取到),平台配置错误(见第十八章),访问方法(基于参数,基于referer,基于位置)不安全。

攻击访问控制,使用不同用户账户进行测试,测试多阶段过程,通过有限访问权限进行测试,测试“直接访问方法”,测试对静态资源的控制,测试对HTTP方法实施的限制。

保障访问控制的安全,首先避免一些缺陷(执行有效的请求,对用户提出的请求,应用防御的威胁),在多层权限模型中,可应用一些防御概念(编程控制,自主访问控制dac,rbac,声明式控制)。

问题:

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

2、应测试以下测试(按效率排序):

(1)使用相同的语法格式将uid值修改为其他值。如果应用程序仍然返回你自己的账户资料,则说明应用程序可能不易于受到攻击。

(2)如果能够注册或以其他方式访问另一个用户账户,可以使用该账户登录以获得其他用户的uid值。然后使用自己的原始用户权限,并用这个新uid值替代自己的uid值;如果这时应用程序显示有关其他用户的敏感数据,则说明应用程序易于受到攻击。

(3) 使用一段脚本从自己的uid获得数千个值,并确定(如果提交这些值)应用程序是否会返回任何其他用户的资料。

(4)使用一段脚本请求介于0和9999999999之间的随机uid值(在本示例中),并确定应用程序是否会返回任何其他用户的资料。

3、攻击者可以假冒其他用户的IP地址,虽然实际上要做到这一点可能极其困难。更重要的是,如果因特网上的多个终端用户位于同一Web代理服务器或NAT防火墙之后,则这些用户可能共享同一IP地址。

4、应用最低权限原则,以确保应用程序体系架构中的所有用户角色具有运行应用程序所需的最小权限。例如,如果用户只需要对数据的读取访问权限,则应用程序应使用一个低权限账户(仅具有对相关表的只读权限)来访问数据库。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值