什么是IDOR?

IDOR代表不安全的直接对象引用,是一种访问控制漏洞。
当Web服务器接收用户提供的输入以检索对象(文件、数据、文档),对输入数据过于信任,并且未在服务器端验证以确认所请求的对象属于请求对象的用户时,可能会发生此类漏洞。

我们可以通过一个例子来学习:

假设您刚刚注册了一项在线服务,并且希望更改个人资料信息。您点击的链接将转到http://online-service.thm/profile? user_id=1305,你可以看到你的信息。

alt text

然后我们点击下面这个发票的链接,可以查看我们自己的发票信息

alt text

然后我们可以修改我们的订单号为其他用户的订单号,就可以查看别人的订单信息。

alt text

成功拿到flag

alt text

我看到这里了其实也差不多知道了啥是IDOR了,就是水平越权。那我们就直接实战一把试试。

IDOR实战

问题:

  1. 用户ID 1的用户名是什么?
  2. 用户ID 3的电子邮件地址是什么?

我们注册完用户以后会在这个地方发现一个有id参数的接口

alt text

看看这个接口是用来干嘛的

alt text

看来是输出用户信息的,那我们这里就可以把这里的id修改成1和3分别看看

alt text

那么我们第一题的答案就是adam84

然后我们修改成3

alt text

ok,我们去输入答案看看对不对。

alt text

总结

其实这里的IDOR就是我们的水平越权,通过修改id或者其他的值,达到越权查看别人的信息,就属于是IDOR了。