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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 关于cv::imread读取图片类型的初探[通俗易懂]

    关于cv::imread读取图片类型的初探[通俗易懂]关于cv::imread读取图片类型的初探问题来源环境首先生成单通道和三通道的png图片cv::imread函数及其参数不同参数读取rgb图像不同参数读取单通道图片问题来源在处理深度图的时候,在用cv::imread读取深度图像时,本以为得到的是单通道图,但实际是三通道图。所以仔细看了一下cv::imread函数。环境Ubuntu16Opencv4.0.0首先生成单通道和三通…

    2022年10月14日
  • originpro 2021 附安装教程

    originpro 2021 附安装教程近日新推出了origin系列的最新版本:origin2021,是一款非常实用的科学绘图与数据分析软件,并且该版本可以和2018——2021版本共享设置,若你拥有这些版本中的任何一个,则只需安装并运行新版本即可。不仅如此,它为了带给用户最佳的使用体验,进行了全方面的新增和优化,现如今能够使用新的颜色管理器创建自己的颜色列表或调色板,其中包括通过颜色选择和颜色插值,还在工作表上添加了新的公式栏,轻松编辑复杂的公式,具有调整公式栏字体大小的选项,以便于阅读,而且Origin中的嵌入式Python环境也得到了极大的

  • Python函数基础[通俗易懂]

    Python函数基础[通俗易懂]函数声明、调用、返回基础Python中使用def关键字来声明函数,声明函数的格式为:有3个需要注意的地方:1.函数名后面必须加冒号2.如果函数体和def不在同一行,则必须缩进3.ret

  • 卡尔曼滤波(KF)与扩展卡尔曼滤波(EKF)的一种理解思路及相应推导(1)

    卡尔曼滤波(KF)与扩展卡尔曼滤波(EKF)的一种理解思路及相应推导(1)前言:从上个世纪卡尔曼滤波理论被提出,卡尔曼滤波在控制论与信息论的连接上做出了卓越的贡献。为了得出准确的下一时刻状态真值,我们常常使用卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波等等方法,这些方法在姿态解算、轨迹规划等方面有着很多用途。卡尔曼滤波的本质是参数化的贝叶斯模型,通过对下一时刻系统的初步状态估计(即状态的先验估计)以及测量得出的反馈相结合,最终得到下一时刻较为准确的的状态估计

  • Kafka集群常用命令行操作[通俗易懂]

    Kafka集群常用命令行操作[通俗易懂]Kafka集群常用命令行操作1、创建topic创建一个名字为test的主题,有三个分区,有两个副本node01执行以下命令来创建topiccd/export/servers/kafka_2.11-1.0.0bin/kafka-topics.sh–create–zookeepernode01:2181–replication-factor2–partitions…

  • jquery——zTree, 完美好用的树插件

    jquery——zTree, 完美好用的树插件

    2021年11月30日

发表回复

您的电子邮箱地址不会被公开。

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