Insecure Direct Object References

Insecure Direct Object References目录越权分类危害解决越权访问一些心得InsecureDirectObjectReference不安全对象是怎么直接被引用的?其它可能不安全对象直接引用…

大家好,又见面了,我是你们的朋友全栈君。


Insecure Direct Object Reference = IDOR

越权

Insecure Direct Object Reference 一般能导致越权。

分类

  • 平行越权
  • 垂直越权

危害

  • 泄露数据
  • 绕过权限控制

解决越权访问

1.用户必须登录,登录之后将username写入seession中;
2.查看个人信息时,从seession中取出username,而不是从GET/POST取username;

一些心得

很多时候越权不是程序员故意写出来的,而是产品和程序在沟通的时候没有沟通好导致的,经验不丰富的程序员容易就入坑了。我举例一个案例:这个功能不需要登录 ,就给用户展示。程序员看不用登录那么就不能从session中取uid,那就改从前端获取吧。他们也不会想有token这种东西。

Insecure Direct Object Reference

由于这种是逻辑漏洞,对系统没什么危害。很难有自动化的检测工具,因为固定的程序很难界定这种是正常请求,还是Insecure Object Direct Reference。

所以这种一般需要人工审核一下,代码审计方法如下:
ide全局搜索uid 、 id 、uuid … 类似这种标识符,搜索到就看看这些id是否来之外部,是的话,就666了。

黑盒审计方法如下:
或者通过SOC收集到URL,统一将id=xxx替换一下,看响应是否都不一致。

不安全对象是怎么直接被引用的?

DOR原理介绍

假设一个用户表:

1552062-20190704152625555-1058074228.png

http://www.cnblogs.com/userinfo.php?id=1
id=1获得lisi的信息,如果用户篡改成id=2就获得了zs的信息。

其它可能不安全对象直接引用

  • 文件
  • 路径
  • 数据库记录(常见)
  • Key

把如上作为URL或者表单的一部分,让前端可以控制。那么都是有Insecure Direct Object Reference。

Black Box Testing

  1. 爬虫采集请求参数带id的URL
  2. 遍历常规数字查看是否能得到不一样的响应包

转载于:https://www.cnblogs.com/mysticbinary/articles/10881677.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137524.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ExtJs教程

    ExtJs教程Ø Spket插件;Ø EXT部署;Ø 常用组件;1.1–Spket插件安装1.2–Ext部署1.3–Ext常用组件:1.***Data—JsonStore,ArrayStore,XMLStore2.***grid—gridPannel3.***form—formPannel,textField,CheckBo

    2022年6月18日
  • python矩阵转置_对python矩阵转置transpose的实例讲解「建议收藏」

    python矩阵转置_对python矩阵转置transpose的实例讲解「建议收藏」对python矩阵转置transpose的实例讲解在读图片时,会用到这么的一段代码:image_vector_len=np.prod(image_size)#总元素大小,3*55*47img=Image.open(path)arr_img=np.asarray(img,dtype=’float64′)arr_img=arr_img.transpose(2,0,1).reshape…

    2022年6月2日
  • 计算机专业的男生喜欢你,【男生这十个反应说明他喜欢你】_男人的10个表现说明他喜欢上了你…

    计算机专业的男生喜欢你,【男生这十个反应说明他喜欢你】_男人的10个表现说明他喜欢上了你…[onlylady乐活健康情感]男人是一种奇怪动物.和他看不上的女人说话时,他表现得十分自然大方,仿佛兄弟.和他看上的女人说话时,则表现得有点扭捏.1、和女人说话时,不太敢正面女人,而是常常温柔地瞟女人.男人是一种奇怪动物.和他看不上的女人说话时,他表现得十分自然大方,仿佛兄弟.和他看上的女人说话时,则表现得有点扭捏.并非缺乏正面女人的勇气,而是心底不由自主的害羞在作祟.对了,还有一种伴发症…

    2022年7月25日
  • js定时器setinterval_nodejs定时器

    js定时器setinterval_nodejs定时器最近帮公司的APP前端做RN,要求是用typescript,然后就掉进坑里了,别的不说,先说说setInterval()这个定时器函数,因为typescript是强类型语言,定义setInterval()必须定义其返回值,但是你无论用百度或者谷歌搜中文也好英文也罢,都告诉你setInterval()的返回值类型是number,但是真的是这样么?让我们看看如果你将setInterval()定…

    2022年9月27日
  • struts2的拦截器AbstractInterceptor「建议收藏」

    struts2的拦截器AbstractInterceptor「建议收藏」publicclassAuthorizationInterceptorextendsAbstractInterceptor{@Override   publicStringintercept(ActionInvocationai)throwsException{      Map<?,?>session=ai.getInvocationConte…

    2022年5月14日
  • 二维数组a[3][4]_树状数组的算法原理

    二维数组a[3][4]_树状数组的算法原理原题链接堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)/2 小元。输入格式:输入的第一行是正整数 N(≤10​5​​ )。随后 N 行,每行给出一句指令,为以下 3 种之一:Push keyPopPeekMedian其中 key 是不超过

    2022年8月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号