不安全的直接对象引用漏洞(浅析)

Posted scriptkid-lu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不安全的直接对象引用漏洞(浅析)相关的知识,希望对你有一定的参考价值。

漏洞定义

   不安全的直接对象引用,也被称IDOR。IDOR允许攻击者绕过网站的身份验证机制,并通过修改指向对象链接中的参数值来直接访问目标对象资源,这类资源可以是属于其他用户的数据库条目以及服务器系统中的隐私文件等等。导致这种情况出现的原因是,系统在接受用户输入并利用输入信息获取对象之前没有对用户身份权限进行检测。

 

漏洞利用场景

 以BTS PenTesting Lab中的实验为例,如图:

 

先创建两个账号,账号名分别为“abc”和“123”,并设置好相应邮箱

技术分享图片

 

技术分享图片

 

 然后登陆“abc”账号,执行修改邮箱操作

技术分享图片

 

把邮箱改成[email protected]时,用Brupsuite代理拦截数据

技术分享图片

 

 把用户标识“id=5”修改成“id=4”后释放,显示邮箱修改成功~

技术分享图片

 

技术分享图片

 

最后登陆“123”的账号,发现邮箱已被修改!

技术分享图片

 

个人小结

不安全的直接对象引用漏洞跟业务逻辑漏洞有共同点,常规的越权操作、篡改订单应该都属于此范畴。防护策略可以从安全框架(封装、加密)和加强上下文关联(后台判断、token)考虑。

 

关于IDOR的相关介绍:http://www.freebuf.com/news/139375.html

关于IDOR的案例参考:https://blog.csdn.net/sakaison/article/details/52586669

以上是关于不安全的直接对象引用漏洞(浅析)的主要内容,如果未能解决你的问题,请参考以下文章

浅析JAVA的垃圾回收机制(GC)

在调用 deleteLater() 后直接删除对 Qt 对象的 Python 引用是不是安全?

DOM元素浅析

JVM安全点

C++知识点总结(更新中)

浅析深拷贝与浅拷贝--godDie--