文档章节

数据越权访问心得

lvxingjob
 lvxingjob
发布于 2014/07/11 09:46
字数 544
阅读 67
收藏 0
数据越权访问,又称BAC( Broken Access Control )。属于一种常见错误, 危害性极大。

具体情形如下:用户A通过B平台购买C买家的货物。对于用户A的地址,A,B,C三家都可以看到。他的方式是客户端通过调用后台的一个服务得到买家A的信息,一般会用类似这样一个方法get*ById(String id)。如果这个id被某些别有用心的人获取并且改掉,那么,他基本就可以得到所有的客户信息了。

改正的方法也很容易,就是对于客户端请求的id以及请求人的身份做对比,如果不一致,则不做查询。

但是问题在于,这个方法被多个地方调用,那么我们就要在多个地方进行修改,此时就要考虑到多个开发人员的情况,你不能保证每个人都会做这个判断。而且,这种细粒度的方法他的使用场景非常多,根据方法来控制,是控制不住的。那么我们就需要重新审视get*ById这个api,对于平台运营商系统的使用场景是没有问题的,但是对于平台商家后台和消费者系统,我们需要的是get*ByIdAndMerchantId和getMy*ById的这种API。

但是,即使我们增加了这两种API,依然不能很好的控制程序员来依法使用这两个API,因为get*ById实在是太好用了,某些偷懒的程序员或者是后来的不知情的人一定会优先选择这个方法。

一个在实际中采取的解决方案是:把这三个API封装到不同的服务(Service)或包(Package)中,并在不同的项目中设置仅对自己的场景可见。

在系分时,系分人员要充分注意到不同的service或者package的作用,让开发者即使不清楚相关的安全考量和安全开发知识,依然能够开发出符合标准的应用

本文转载自:http://lvxing607.iteye.com/blog/1553435

lvxingjob

lvxingjob

粉丝 2
博文 18
码字总数 912
作品 0
杭州
高级程序员
私信 提问
【Web安全】越权操作——横向越权与纵向越权

横向越权:横向越权指的是攻击者尝试访问与他拥有相同权限的用户的资源 纵向越权:纵向越权指的是一个低级别攻击者尝试访问高级别用户的资源 横向越权的情况: 用户登录模块中,假设用户在忘...

潘天涯
2018/08/10
0
0
网站安全维护之逻辑漏洞、越权漏洞的修复与加固服务

网站安全维护 网站安全维护当中,程序代码的设计逻辑漏洞,以及用户权限越权漏洞是比较常见的, 在许许多多的电商以及APP网站里,很多前端业务需要处理的部分验证了用户的登录状态, 并没有详...

网站安全
2018/06/05
0
0
如何修改订单金额实现 0.01 元买 iPhone X?

点击上方“CSDN”,选择“置顶公众号” 关键时刻,第一时间送达! 作者简介: 肖志华,rNma0y,信安自学,白帽子。(在安全圈子里,一直以来有“黑帽”、“白帽”的说法。黑帽子是指那些造成...

csdnnews
2017/12/21
0
0
国外热门问答网站 Quora1亿用户的数据遭暴露

前几日,国外热门问答网站 Quora 表示其中一个系统被黑,导致约1亿用户的数据被暴露给未授权的第三方。 Quora 在上周五即11月30日发现了这起数据泄露事件,越权第三方访问了用户数据。Quora...

linux-tao
01/02
39
0
基于Hadoop架构下医疗大数据安全的探究

  医疗信息化已正式进入“大数据时代”,医疗大数据解决了海量数据的存储与检索问题,也催生了新的安全问题。如何更好地保护敏感信息及病人隐私,成为大数据时代医院管理面临的一大难题。但...

大数据头条
2017/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mac下redis安装、设置、启动停止

常用命令说明 redis服务器:redis-server redis客户端:redis-cli redis性能测试工具:redis-benchmark AOF文件修复工具:redis-check-aof RDB文件修复工具:redis-check-rd redis设置临时密...

botkenni
14分钟前
3
0
好程序员web前端分享HTML5常见面试题集锦四

好程序员web前端分享HTML5常见面试题集锦四 1、为什么要初始化CSS样式? 答案:因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面...

好程序员官方
15分钟前
2
0
CDN的网络架构是什么?

CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cac...

云漫网络Ruan
16分钟前
2
0
pandas入门07---可视化

01 入门 制作提供信息的可视化是数据分析的重要任务之一。首先介绍一下matplotlib库。 import matplotlib.pyplot as pltimport numpy as npdata = np.arange(10)print(data)plt.plot(da...

筠初
17分钟前
2
0
201_PyTorch中文教程:Torch与Numpy互操作

201_PyTorch中文教程:Torch与Numpy互操作 Numpy是经典的数学计算库,Torch中的Tensor可以与之互相转换,从而可以充分利用二者的计算函数和模型,以及使用其它支持Numpy的软件库和工具。但需...

openthings
17分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部