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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

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

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