zoukankan      html  css  js  c++  java
  • 越权漏洞(IDOR)笔记

     

    越权漏洞 IDOR 全称为 Insecure Direct Object Reference 不安全的直接对象参考

    什么是IDOR漏洞?

    应用程序中可以有许多变量,例如“ id”,“ pid”,“ uid”。尽管这些值通常被视为HTTP参数,但可以在标头和cookie中找到它们。

    攻击者可以通过更改值来访问,编辑或删除任何其他用户的对象。此漏洞称为IDOR。

    首先,它需要了解软件开发人员开发的应用程序流程。当登录用户进入Web /移动应用程序时,需要了解所有模块功能及其子模块功能。

    同样重要的是要记住,此漏洞在安全测试中与XSS,CSRF一样严重,并且是一种不容易发现的漏洞(自动测试或手动测试)。

    下图显示了用户和服务器之间的IDOR漏洞。

    IDOR漏洞的影响

    Bugcrowd VRT中的IDOR漏洞似乎是“依赖影响的变量 ”,因为它们的影响完全取决于您提交的错误。

    但是我们根据我们的经验创建了一个有关IDOR漏洞影响的列表,如下所示。

    P1 –帐户接管,访问非常重要的数据(例如信用卡)

    P2 –更改/删除其他用户的公共数据,访问私人/公共重要数据(例如票证,发票,付款信息)

    P3 –访问/删除/更改私人数据(有限的个人信息:姓名,地址等)

    P4 –访问任何不重要的数据

    IDOR漏洞的影响取决于项目经理的判断力。

    用于辅助测试越权漏洞的工具:

    Burpsuite的三款插件可用于辅助寻找越权漏洞。

    • Autorize
    • Authz(水平越权测试)
    • AuthMatrix(垂直越权测试)

    Authz插件可以查看其他用户的请求响应。因此,我们可以将X用户的请求发送到Authz并尝试以Y用户身份访问它的响应。

    另外,我们可以为测试IDOR漏洞添加自定义标头,例如“ X-CSRF-Token”。

    AuthMatrix插件允许通过注册应用程序中角色的cookie值或标头值来执行授权检查。

    如果有API请求,则可以将Wsdler插件用于Burp Suite,SoapUI,Postman等。还可以尝试使用该工具尝试所有GET,POST,PUT,DELETE,PATCH请求以及成功和快速的API测试。

    如何防止IDOR漏洞?

    首先,在创建应用程序时,应该控制所有普通,ajax和API请求。例如,只读用户可以在应用程序中写入任何内容吗?还是非管理员用户可以访问并创建仅由管理员用户创建的API令牌?因此,要测试所有IDOR漏洞,您应该像黑客一样思考。

    您可以为所有端点在您的应用程序上提供权限。如果您的“ privatesection”端点包括诸如“ / api / privatesection / admins”,“ / api / privatesection / console”,“ / api / privatesection / tokens”之类的API请求,则可以为非管理员用户阻止该端点。

    同样,为了使攻击者的工作更加艰辛,甚至有时甚至阻止它,您可以使用哈希函数并使用哈希值代替常规数字或字符串。

    部分内容翻译自:

    https://www.bugcrowd.com/blog/how-to-find-idor-insecure-direct-object-reference-vulnerabilities-for-large-bounty-rewards/

  • 相关阅读:
    Rpc简单入门
    对话Task
    对话线程
    译MassTransit 生产消息
    MassTransit 实现应用程序间交互
    译MassTransit 消息契约
    轻松理解AOP思想(面向切面编程)
    Elasticsearch 全教程
    Elasticsearch 教程--搜索
    Elasticsearch 教程--数据
  • 原文地址:https://www.cnblogs.com/AirCrk/p/12915798.html
Copyright © 2011-2022 走看看