API安全Top 10 漏洞:crAPI漏洞靶场与解题思路

这篇具有很好参考价值的文章主要介绍了API安全Top 10 漏洞:crAPI漏洞靶场与解题思路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0x00 前言

靶场简介

在 hack 中学习,不要去学习 hack

对于想了解 API 安全的同学,最直接的方式就是拿到一个靶场进行实战。正好,crAPI 项目就是 OWASP 推出的 API
安全项目,可以帮助大家了解常见的 API 安全漏洞。

本文将对 crAPI 靶场的相关漏洞以及打靶思路进行简单的介绍,希望对大家有所帮助。

靶场安装

首先,附上 crAPI 项目的 Giithub 地址:https://github.com/OWASP/crAPI。还有 OWASP API
Security Project 可以参考:https://owasp.org/www-project-api-security/

安装靶场的话,可以使用多种方式,本文直接使用 docker 搭建(需要先安装 docker 以及 docker-compose) ,docker
启动命令如下:

docker-compose -f docker-compose.yml --compatibility up -d

安装完成,就可以开始研究漏洞了,大家打靶的时候可以参考官方给的提示:https://github.com/OWASP/crAPI/blob/develop/docs/challenges.md,下面就针对
crAPI 漏洞以及打靶思路进行介绍。

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x01 Broken Object Level Authorization

失效的对象级别授权

挑战1:访问其它用户车辆的详细信息

1、首先找到泄露其它用户的车辆 id 的接口

在社区论坛处,可以获取所有评论者的详细信息

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、车辆定位功能处,可以看到车辆位置信息信息

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、更改车辆 id ,发现可以访问其它车辆的信息

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

挑战2:访问其它用户的机械报告

1、发送维修报告请求

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

抓包分析,发现请求之后,会返回一个报告访问的地址

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、修改 report_id 可以查看其它用户提交的维修报告

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x02 Broken User Authentication

失效的用户身份验证

挑战3:重置其它用户的密码

1、找到可以查看其它用户的 email 的接口

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、登录处可以重置密码

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

抓包分析mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

多重放几次,发现重放多次会有限制

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、此时将 v3 改为 v1或者 v2 试试,发现 v2 可以无限重放

使用 v2 提供的接口,可以爆破四位数的 otp

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

4、爆破成功,即重置他人密码成功

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x03 Excessive Data Exposure

过多的数据暴露

挑战4:找到泄露其它用户敏感信息的API接口

1、敏感信息泄露接口

/community/api/v2/community/posts/recent

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

挑战5:找到泄露视频内部属性的API接口

1、找到修改上传的视频名称的接口

/identity/api/v2/user/videos/30

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

可以看到视频内部相关的属性。

0x04 Lack of Resources & Rate Limiting

资源缺乏和速率限制

挑战6:使用 “contact mechanic” 功能完成第7层DoS

1、 找到 contact mechanic 功能

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、尝试修改参数接口请求中的参数

将 repeat_request_if_failed 改为 true,将 number_of_repeats 改为较大的数字,重放,发现 DoS 攻击

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

、0x05 Broken Function Level Authorization

失效的功能级别授权

挑战7:删除另一个用户的视频

1、将 put 请求方式改为其它的,比如 delete

发现存在 DELETE 请求方式,但是该接口需要 admin 权限

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、尝试将接口中的 user 改为 admin

利用 REST api 的可预测特性找到一个管理接口来删除视频

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、尝试将 videos 后参数改为其它用户的视频id

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

发现可以删除其他用户的视频。

0x06 Mass Assignment

批量分配 / 大量赋值 / 自动绑定漏洞

将客户端提供的数据(例如 JSON )绑定到数据模型,而没有基于 allowlist 进行适当的属性过滤,通常会导致 Mass Assignment
。猜测对象属性、探索其他 API 端点、阅读文档或在请求有效负载中提供额外的对象属性,都允许攻击者修改他们不应该修改的对象属性。

挑战8:免费获得一件物品

1、增加订单功能接口

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、更改请求方式为 GET,并增加订单参数

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、将 GET 请求方式改为 PUT

发现可以请求成功,继续修改参数,发现可以修改数量和状态

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

4、尝试修改 status 属性的值

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

5、将 status 修改为 retured

其中’delivered’表示已收到货品,‘return pending’ 表示退货, ‘returned’ 表示已经退货,修改订单状态,直接将status
改为 returned 状态,发现此时自己的余额增加了,相当于免费购买了一件商品

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

挑战9:将您的结余增加1000元或以上

1、修改订单中的数量为100,status改为 delivered

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、再修改 status 为 returned

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、此时发现金额已经发生变化,增加了 $1000

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

挑战10:更新内部视频属性

1、在修改视频名称的时候,尝试增加其它的参数

发现可以修改 conversion_params 的属性值

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x07 SSRF

挑战11:让crAPI发送一个HTTP调用到“www.baidu.com”并返回HTTP响应

1、找到联系机械工的接口

将 mechanic_api 的值改为http://baidu.com,发现服务器会发起请求,并返回结果

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、也可以使用 dnslog 验证

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、查看 dnslog 结果

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x08 NoSQl Injection

挑战12:想办法在不知道优惠券代码的情况下获得免费优惠券

1、找到验证优惠券的接口,使用 nosql 注入的语句尝试

尝试使用{"$ne":"xxxxxxxxxxxx"(备注:$ne表示不等于)

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、得到一个优惠券:TRAC075

0x09 SQL Injection

挑战13:通过修改数据库找到一种方法来兑换您已经认领的优惠券

由于本文使用的是 docker 搭建的,查看靶场的版本不是最新的,所以这个注入漏洞没有复现。在最新的源码中可以看到是存在 sql 注入的,此关就不做说明了。

最新版本源码存在 sql注入的代码:

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x0A Unauthenticated Access

未经身份验证的访问

挑战14:查找不为用户执行身份验证检查的接口

1、查看机械工报告的接口,不需要进行身份验证就可以直接访问

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x0B two secret challenges

官方文档提到:“crAPI中还有两个秘密挑战,它们非常复杂,目前我们不分享它们的细节,只知道它们真的很酷。” 更多的漏洞,大家可以自行探索。

0x0C 其它漏洞

除了以上漏洞,其它漏洞大家也可以多去挖掘,这边附上几个漏洞,供大家参考

增加一个商品

1、获取商品列表接口

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、尝试将 GET 请求方法改为 POST

发现需要传值,构造相应的参数之后,即可请求成功

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

成功之后,就上传了一个商品

支付漏洞

1、查询余额

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、购买商品接口处,修改购买的数量,改为负数

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、发现金额增加了

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

JWT 密钥爆破

1、使用 JWT_Tool 对 jwt 进行爆破

得到密钥为 crapi

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

2、修改账号信息,使用爆破得到的密钥签名

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

3、使用伪造的 token 进行访问,发现可以成功

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

0x0D 结语

本文分享了 crAPI 靶场的相关漏洞以及解题思路,里面覆盖了大部分的 OWASP API top 10 的安全漏洞。其实,打靶的过程也是学习的过程,相信对
API 安全漏洞的研究会有一些帮助。

资料分享

最后,给大家分享一波网络安全学习资料:

我们作为一个小白想转行网络安全岗位,或者是有一定基础想进一步深化学习,却发现不知从何下手。其实如何选择网络安全学习方向,如何进行实战与理论的结合并不难,找准正确方式很重要。

接下来我将从成长路线开始一步步带大家揭开网安的神秘面纱。

1.成长路线图

共可以分为:

一、基础阶段

二、渗透阶段

三、安全管理

四、提升阶段

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

同时每个成长路线对应的板块都有配套的视频提供:
mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

网络安全面试题

最后就是大家最关心的网络安全面试题板块
mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全
所有资料共87.9G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方CSDN官方合作二维码免费领取(如遇扫码问题,可以在评论区留言领取哦)~文章来源地址https://www.toymoban.com/news/detail-806900.html

mechanic_api,Web安全,网络安全,技术提升,安全,API,web安全

到了这里,关于API安全Top 10 漏洞:crAPI漏洞靶场与解题思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全 --- 任意文件上传漏洞靶场闯关 6-15关】任意文件上传漏洞靶场闯关,让你更深入了解文件上传漏洞以及绕过方式方法,思路技巧

      首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识 超详细的网络安全笔记 分享一个非常详细的网络安全笔记,是我学习网安过程中用心写的,可以点开以下链接获取: 超详细的网络安全笔记​编辑https://m.tb.cn/h.5JdFcih?tk=OuVrWRl9vMx%20CZ3457 https://m.tb.cn/

    2024年02月07日
    浏览(48)
  • 从OWASP API Security TOP 10谈API安全

    应用程序编程接口(API)是当今应用驱动世界创新的一个基本元素。从银行、零售、运输到物联网、 自动驾驶汽车、智慧城市,API 是现代移动、SaaS 和 web 应用程序的重要组成部分,可以在面向客 户、面向合作伙伴和内部的应用程序中找到。 从本质上讲,API 暴露了应用程序

    2024年04月25日
    浏览(49)
  • TWO DAY | WEB安全之OWASP TOP10漏洞

    TWO DAY | WEB安全之OWASP TOP10漏洞 OWASP:开放式Web应用程序安全项目(Open Web Application Security Project),OWASP是一家国际性组织机构,并且是一个开放的、非盈利组织,它致力于协助政府、企业开发、升级各类应用程序以保证其可信任性。所有OWASP的工具、文档、研讨以及所有分会都对

    2024年02月12日
    浏览(45)
  • 网络安全入门必知的OWASP top 10漏洞详解

    0、OWASP Top10是什么? 首先介绍下OWASP,开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信

    2024年02月08日
    浏览(40)
  • WEB十大安全漏洞(OWASP Top 10)与渗透测试记录

            每年 OWASP(开放 Web 应用程序安全项目)都会发布十大安全漏洞。它代表了对 Web 应用程序最关键的安全风险的广泛共识。了解十大WEB漏洞种类并善于在渗透测试中发现漏洞是安全行业人员的基本要求。 1.失效的访问控制 2.加密机制失效 3.注入 4.不安全的设计 5.安

    2024年02月02日
    浏览(60)
  • crAPI靶场学习记录

    [靶场下载地址](我fork了一份) docker安装,笔者是用的wsl+docker. [lab0: 初始账户  ] 注册一个账户,邮箱为[API@qq.com],密码为Admin@123 登陆后访问对应IP的8025端口,接收邮件获取车辆信息。 [lab1: 访问其它用户车辆的详细信息  ] 登录后首先找到泄露其它用户的车辆id的接口。进入论

    2024年02月09日
    浏览(50)
  • OWASP TOP 10漏洞分析

    1.注入 - Injection 2.跨站脚本 - (XSS) 3.失效的验证和和会话管理 4.不安全的直接对象访问 5.跨站请求伪造 - (CSRF) 6.不正确的安全设置 7.不安全的加密存储 8.URL访问限制缺失 9.没有足够的传输层防护 10.未验证的重定向和跳转 一、注入-Injection 1、虽然还有其他类型的注入攻击

    2024年02月09日
    浏览(102)
  • Owasp Top10 漏洞解析 之注入

    一、注入漏洞是什么? 注入漏洞,即将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入NoSQL注入、OS 注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命今或访问数据。 几乎任何数据源都能成为注

    2024年02月04日
    浏览(41)
  • 【二等奖方案】基于人工智能的漏洞数据分类赛题「道可道,非常道」团队解题思路

    2022 CCF BDCI 大赛 · 数字安全公开赛「基于人工智能的漏洞数据分类」赛题二等奖团队 「道可道,非常道」战队获奖方案,赛题地址: http://go.datafountain.cn/s57 本团队具有丰富的比赛和项目经验。在AI大赛上多次拿到Top成绩,其中包括阿里云天池安全恶意程序检测第一名、科大讯

    2024年02月16日
    浏览(47)
  • 2023_OWASP TOP10_漏洞详情

    OWASP TOP 10 漏洞讲解 1 、 s q l 注入 1、sql注入 1 、 s ql 注入 原理: SQL 注入就是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现对数据库的任意操作。 ​

    2024年02月06日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包