文章目录

  • 一、IDOR介绍
  • 二、常见的测试技巧
    • 1.改变HTTP请求方法
    • 2.路径穿越绕过
    • 3.改变Content-type(内容类型)
    • 4.用数字ID替换非数字
    • 5.大小写替换绕过
    • 6.用通配符替换ID
    • 7.给Web应用提供一个请求ID,哪怕它没作要求
    • 8.HTTP参数污染,为同一参数提供多个值。
    • 9.更改文件类型。添加不同的文件扩展名(例如.json, .xml, .config)
    • 10.JSON参数污染
    • 11.在请求体用数组包装参数值
    • 12.尝试不同版本的API
  • 三、总结

一、IDOR介绍

IDOR,Insecure Direct Object reference,即"不安全的直接对象引用",场景为基于用户提供的输入对象进行访问时,未进行权限验证。IDOR漏洞其实在越权(Broken Access Control)漏洞的范畴之内,也可以说是逻辑漏洞,或是访问控制漏洞,国内通常被称为越权漏洞。

二、常见的测试技巧

1.改变HTTP请求方法

如果某个请求方法无效,那么可以试试其它方法,如GET, POST, PUT, DELETE, PATCH…等,一个通常的技巧就是用PUT和POST进行互换,原因在于服务端的访问控制措施不够完善。

GET /users/delete/VICTIM_ID  --> 403 Forbidden
POST /users/delete/VICTIM_ID  --> 200 OK

2.路径穿越绕过

POST /users/delete/VICTIM_ID  -->  403 Forbidden
POST /users/delete/MY_ID/../VICTIM_ID --> 200 OK
POST /users/delete/..;/delete/VICTIM_ID --> 200 OK

3.改变Content-type(内容类型)

Content-type: application/xml  -->  Content-type: application/json

4.用数字ID替换非数字

GET /file?id=90ri2xozifke29ikedawOd
GET /file?id=302

5.大小写替换绕过

GET /admin/profile --> 401 Unauthorized
GET /ADMIN/profile --> 200 OK

6.用通配符替换ID

GET /api/users/<user_id>/ --> GET /api/users/*

7.给Web应用提供一个请求ID,哪怕它没作要求

如果Web应用在请求动作中没有ID号要求,那么可以尝试给它添加一个ID号看看会发生什么。比如添加一个随机ID号、用户ID、会话ID,或是其它的对象引用参数,观察服务端的响应内容。

GET /api_v1/messages --> 200 OKGET /api_v1/messages?user_id=victim_uuid --> 200 OK

8.HTTP参数污染,为同一参数提供多个值。

用HTTP参数污染方式针对同一参数去给它多个不同的值,这样也是可以导致IDOR漏洞的。因为Web应用可能在设计时不会料想到用户会为某个参数提交多个不同值,因此,有时可能会导致Web后端接口的访问权限绕过。

GET /api_v1/messages?user_id=ATTACKER_ID&user_id=VICTIM_ID
GET /api_v1/messages?user_id=VICTIM_ID&user_id=ATTACKER_IDGET /api_v1/messages?user_id[]=ATTACKER_ID&user_id[]=VICTIM_ID
GET /api_v1/messages?user_id[]=VICTIM_ID&user_id[]=ATTACKER_ID

9.更改文件类型。添加不同的文件扩展名(例如.json, .xml, .config)

切换请求文件的类型可能会导致Web服务端在授权处理上发生不同,如在请求URL后加上一个.json,看看响应结果如何。

GET /user_data/123 --> 401 Unauthorized
GET /user_data/123.json --> 200 OK

10.JSON参数污染

POST /api/get_profile
Content-Type: application/json
{"user_id" :<id_1>,"user_id" :<id_2>}

11.在请求体用数组包装参数值

{"id":111} --> 401 Unauthriozied
{"id":[111]}  --> 200 OK

12.尝试不同版本的API

GET /v2/users_data/1234 --> 403 Forbidden
GET /v1/users_data/1234 --> 200 OK

三、总结

IDOR是一类逻辑漏洞的思路,思路主要是贴合业务。需要站在业务流的角度去思考,如何产生安全隐患。案例只是对于思路的一种应用,对于不同的业务流程和特点,IDOR是能够变化出各种各样的独特思路。

越权漏洞(IDOR)测试技巧相关推荐

  1. burpsuite 越权_越权漏洞之测试与修复

    这几年,开发人员的安全意识与安全开发水平都有了很大程度的提高.像文件上传.SQL注入漏洞,在网络安全比较受重视的企业,差不多都已经杜绝了,即便有出现,也是凤毛菱角了.目前,部分企业网络安全目前面临的另 ...

  2. burpsuite 越权_挖洞经验 | 用BurpSuite实现越权漏洞(IDOR)的自动发现识别

    这里分享一个自动化发现IDOR(越权)漏洞的方法,那就是在BurpSuite中利用Autozie和Autorepeater插件实现IDOR漏洞的探测识别,而无需针对每个请求手动去变化参数或请求. ID ...

  3. 渗透测试-越权漏洞之垂直越权和水平越权

    越权漏洞之垂直越权和水平越权 文章目录 越权漏洞之垂直越权和水平越权 前言 一.什么是越权漏洞以及漏洞产生的原因 1. 什么是越权漏洞 2. 漏洞产生的原因 二.水平越权和垂直越权以及防御方法 1.水 ...

  4. 还在人工测越权漏洞?快来自动扫描吧!

    前言 关于越权漏洞,大家都熟知水平越权.垂直越权.未授权访问,此处不再赘述概念了. 对于越权类漏洞的测试,通用的测试方法,也都是人工通过代理抓包工具截获报文,然后尝试删除Cookie测试是否存在访问越 ...

  5. 访问控制/越权漏洞 -- 学习笔记

    目录 访问控制概念 漏洞类型 Lab 1. robots.txt泄露未授权访问页面 2. JS文件暴露未授权访问页面 3. 参数控制的访问权限 4. 响应包参数控制的访问权限 5.  Header头中 ...

  6. web漏洞之越权漏洞

    越权介绍 越权漏洞十分常见,属于 OWASP TOP10的漏洞类型之一 作为一个常见的逻辑漏洞,越权漏洞的危害和影响与对应业务的重要性成正相关 越权漏洞的挖掘常常要求白帽子足够的细心,每一个可能产生问 ...

  7. 【精选】小白是如何挖漏洞的(技巧篇)

    更多渗透技能 ,10余本电子书及渗透工具包,搜公众号:白帽子左一 作者:掌控安全-山屿云 目录: 怎么找漏洞 找到后如何挖漏洞 关于通杀漏洞N day漏洞的挖掘 漏洞如何提交 每小结都有提供对应的案例 ...

  8. SQL注入、XSS、XXE、CSRF、SSRF、越权漏洞、文件上传、文件包含总结篇

    漏洞总结篇 SQL注入 什么是SQL注入? 怎么防御? 过滤特殊字符 修改php.in 使用mysqli_real_escape_string()函数 加固数据库方面 加固管理方面 Mybatis 防 ...

  9. 越权漏洞简介及靶场演示

    文章目录 一.什么是越权? (一)越权漏洞的概念 (二)越权漏洞的分类 (三)常见越权方法 (四)未授权访问 二.越权漏洞测试过程 (一)越权漏洞的思路 (二)越权测试的过程 (三)常见平行越权 三. ...

最新文章

  1. 深度学习有哪些经典数据集?
  2. 这5个机器学习项目你不可错过!(附代码)
  3. Windows 10系统如何使用Ctrl+Alt+Delete解锁屏幕?
  4. sqlserver 2008r2 表分区拆分问题
  5. 如何保证消息队列的高可用?透彻分析源码
  6. 快报:Python 被爆重大“黑料”!程序员:劲爆!
  7. 巨坑!这公司的行为,挺适合清明节!
  8. [简明python教程]学习笔记2014-04-28 23:45:56
  9. oracle grant的用法,oracle grant总结
  10. 马克思主义基本原理概论复习资料
  11. DPDK——IP分片和重组库
  12. Python Miller Rabin 米勒-拉宾素性检验
  13. python3获取天气预报
  14. c语言实现数据写入存储地址,c语言中通过指针将数值赋值到制定内存地址
  15. linux配置网口的ip地址,Linux基本操作和基础命令(Linux修改IP地址以及修改网卡地址)...
  16. 时序例外_Timing Exceptions_Min/Max Delays(set_max_delay/set_min_delay)
  17. Xcelsius启动出现Problem Accessing Excel: Exiting问题的解决
  18. PostgreSQL 技术文档
  19. 服务器无法显示url,遇到“您所请求的网址(URL)无法获取”的解决办法
  20. 物联网技术的应用领域

热门文章

  1. Strace 解决性能问题案例一则
  2. android apk 反编译 工具下载,android APK反编译工具Apktool
  3. MPLS 虚拟专用网络技术原理与配置
  4. 2021年广东省工程技术研究中心申报指南
  5. 【JS】load script xxx failed : Error: Cannot find module xxx
  6. 什么是istp?istp收录
  7. 【算法设计】P和NP问题的前世今生
  8. go代码windows系统截屏
  9. 链路技术--Smart Link、Monitor Link
  10. 市场上Web 应用防火墙哪家好?