PortSwigger靶场练习---第二关-查找和利用未使用的 API 端点

第二关:Finding and exploiting an unused API endpoint

实验:查找和利用未使用的 API 端点

PortSwigger靶场地址: Dashboard | Web Security Academy - PortSwigger

 题目:

官方提示:

  1. 在 Burp 的浏览器中,访问实验室并单击一个产品。

  2. 在 Proxy > HTTP history(代理 HTTP 历史记录)中,请注意产品的 API 请求。例如。/api/products/3/price

  3. 右键单击 API 请求,然后选择 Send to Repeater (发送到 Repeater)。

  4. 在 Repeater 选项卡中,将 API 请求的 HTTP 方法从 更改为 ,然后发送请求。请注意,响应指定允许 和 方法。GETOPTIONSGETPATCH

  5. 将 API 请求的方法从 更改为 ,然后发送请求。请注意,您会收到一条消息。这可能表示您需要进行身份验证才能更新订单。GETPATCHUnauthorized

  6. 在 Burp 的浏览器中,使用凭据 登录到应用程序。wiener:peter

  7. 点击 Lightweight “l33t” 皮夹克 产品。

  8. 在 Proxy > HTTP history (代理 HTTP 历史记录) 中,右键单击皮夹克的请求,然后选择 Send to Repeater (发送到中继器)。API/products/1/price

  9. 在 Repeater 选项卡中,将 API 请求的方法从 更改为 ,然后发送请求。请注意,这会导致错误,因为不正确。错误消息指定 应为 .GETPATCHContent-TypeContent-Typeapplication/json

  10. 添加标头并将值设置为 .Content-Typeapplication/json

  11. 添加一个空的 JSON 对象作为请求正文,然后发送请求。请注意,这会导致错误,因为请求正文缺少参数。{}price

  12. 将值为 的参数添加到 JSON 对象 。发送请求。price0{"price":0}

  13. 在 Burp 的浏览器中,重新加载 leather jacket 商品页面。请注意,皮夹克的价格现在是 。$0.00

  14. 将皮夹克添加到您的购物篮中。

  15. 转到您的购物篮,然后单击 Place order(下订单)以解决实验问题。

第一步:

进入测试界面

第二步:

根据官方提示1 ,先随意的选择一个商品,并建立订单

第三步:

到Burp中,在代理下的HTTP历史记录中可以找到一条有关“ api ”的信息,由于我选择的是列表第三个商品,所以该路径名称为“ /api/products/3/price

第四步:

选中后右键,发送到Repeater(中继器)

第五步:

在中继器中发送一次请求,得到了商品价格和讯息:你的邻居刚刚买了一个!(这些不是重点)

第六步:

将“GET”改为“PATCH”再发送请求,在响应框里可以看到显示“Unauthorized”(未经授权)。

第七步:

返回浏览器,使用“ wiener:peter ”(账号:密码)进行登录。
并返回主页,按照官方提示点击“ Lightweight "l33t" Leather Jacket ”进行下单操作。
随后在burp代理的HTTP历史记录中找到关于皮夹克的PAI,并发送到中继器使用“PATCH”发送请求。

第八步:

响应区显示“仅支持“application/json”Content-Type”,所以我们要更改内容类型。
先修改标头,既:在请求区添加“Content-Type: application/json”,在发送请求后返回了一个错误,它没有找到js对象。

第九步:

添加一个空的json对象,在请求区的最下方输入“ {} ”再点击发送即可。(注意:括号要与上文代码隔开一行
请求后又出现了新的报错,参考官方“提示12”,我们需要在json对象内添加参数“  "price":0  ”

第十步:

再次发送请求,可以看到返回了一个价格为0的提示,这时我们回到浏览器并返回home主页进行刷新。
可以看到皮夹克的价格已经变为了 0刀乐 ,点进去添加顶点,并在界面右上角区域找到“ 购物篮 ”在购物篮界面点击“ Place order ”,即可通关。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4445.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软路由系统iStoreOS 一键安装 docker compose

一键安装命令 大家好!今天我来分享一个快速安装 docker-compose 的方法。以下是我常用的命令,当前版本是 V2.32.4。如果你需要最新版本,可以查看获取docker compose最新版本号 部分,获取最新版本号后替换命令中的版本号即可。 w…

SpringCloud nacos 2.0.0 + seata 2.0.0

NACOS 下载nacos https://github.com/alibaba/nacos/releases/tag/2.2.0 启动nacos startup.cmd -m standalone SEATA 下载seata https://seata.apache.org/release-history/seata-server 新建数据库-seata CREATE TABLE branch_table (branch_id bigint NOT NULL,xid …

springboot音乐播放器系统

Spring Boot音乐播放器系统是一个基于Spring Boot框架开发的音乐播放平台,旨在为用户提供高效、便捷的音乐播放体验。 一、系统背景与意义 随着互联网的飞速发展和人们对音乐娱乐需求的不断增长,音乐播放器已经成为人们日常生活中不可或缺的一部分。传…

奉加微PHY6230兼容性:部分手机不兼容

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…

Go-知识 版本演进

Go-知识 版本演进 Go release notesr56(2011/03/16)r57(2011/05/03)Gofix 工具语言包工具小修订 r58(2011/06/29)语言包工具小修订 r59(2011/08/01)语言包工具 r60(2011/09/07)语言包工具 [go1 2012-03-28](https://golang.google.cn/doc/devel/release#go1)[go1.1 2013-05-13]…

C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程

如果这是您阅读的本专栏的第一篇博文,建议先阅读如何安装Visual Studio 2022。 C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net/beijinghorn/article/details/123350910 一、简单准备 开始学习、编写程序…

数字艺术类专业人才供需数据获取和分析研究

本文章所用数据集:数据集 本文章所用源代码:源代码和训练好的模型 第1章 绪论 1.1研究背景及意义 随着社会经济的迅速发展和科技的飞速进步,数字艺术类专业正逐渐崛起,并呈现出蓬勃发展的势头。数字艺术作为创作、设计和表现形式的…

imbinarize函数用法详解与示例

一、函数概述 众所周知,im2bw函数可以将灰度图像转换为二值图像。但MATLAB中还有一个imbinarize函数可以将灰度图像转换为二值图像。imbinarize函数是MATLAB图像处理工具箱中用于将灰度图像或体数据二值化的工具。它可以通过全局或自适应阈值方法将灰度图像转换为二…

使用ffmpeg提高mp4压缩比,减小文件体积【windows+ffmpeg+batch脚本】

文章目录 关于前情提要FFmpeg是什么使用脚本运行FFmpeg首先,下载ffmpeg.exe然后在视频相同位置写一个bat脚本运行压缩脚本 关于 个人博客,里面偶尔更新,最近比较忙。发一些总结的帖子和思考。 江湖有缘相见🤝。如果读者想和我交…

Codeforces Round 997 (Div. 2) A~C

今天的封面是水母猫猫和佩佩,原图在这里,记得关注画师夏狩大大 至此,天鹅完成了连续四场比赛在四个不同比赛上四次分的壮举!(ABC388,CodeChef169,牛客月赛109,CF997) 这场…

JavaFx + SpringBoot 快速开始脚手架

JavaFX系列项目模板 JDK8 & JavaFX & SpringBoot 加持SpringBoot,项目示例,Maven打包插件带可执行程序JDK8 & JavaFX 不依赖SpringBoot,项目示例,Maven打包插件带可执行程序JDK11 & JavaFX15 使用 jlink 打包为精…

蓝桥杯3525 公因数匹配 | 枚举+数学

题目传送门 这个题目是一个数学题,由于只需要找到存在大于1的公因数的两数,所以比较方便的做法是统计每一个数的(质)因数。可以通过筛法统计质因数降低复杂度,但是直接枚举因数也可以满足要求。使用字典记录每个因数出…

当PHP遇上区块链:一场奇妙的技术之旅

PHP 与区块链的邂逅 在技术的广袤宇宙中,区块链技术如同一颗耀眼的新星,以其去中心化、不可篡改、透明等特性,掀起了一场席卷全球的变革浪潮。众多开发者怀揣着对新技术的热忱与探索精神,纷纷投身于区块链开发的领域,试…

利用Ai,帮我完善了UsbCamera App的几个界面和设置功能

早些时候,我有开源了一个UsbCamera App的代码,后来因为一些原因,就只针对星球成员和课程视频成员开源了。最近,我对这个App进行了一些内容的补充。 主要是添加了一些设置相关的内容,支持rtmp推流、循环录像、镜像&…

【系统分享01】Python+Vue电影推荐系统

大家好,作为一名老程序员,今天我将带你一起走进电影推荐系统的世界,分享如何利用 Django REST Framework 和 Vue 搭建一套完整的电影推荐系统,结合 协同过滤算法,根据用户评分与影片喜好,精准推送用户可能喜…

【k8s面试题2025】1、练气期

主要通过呼吸吐纳等方法,将外界的天地灵气吸入体内,初步改造身体,使身体素质远超常人。 文章目录 docker 和虚拟机的不同Kubernetes 和 docker 的关系Kube-proxy IPVS 和 iptables 的异同蓝绿发布Kubernetes中常见的数据持久化方式关于 Docke…

【统计的思想】假设检验(一)

假设检验是统计学里的重要方法,同时也是一种“在理想与现实之间观察求索”的测试活动。假设检验从概率的角度去考察理想与现实之间的关系,籍此来缓解测试可信性问题。 我们先来看一个例子。民航旅客服务系统,简称PSS系统,有一种业…

Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker Desktop [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 seafile 参考资料 Docker安装 Seafile OnlyOffice 并配置OnlyOffice到Seafile,实现在线编辑…

移远通信多模卫星通信模组BG95-S5获得Skylo网络认证,进一步拓展全球卫星物联网市场

近日,全球领先的物联网整体解决方案供应商移远通信正式宣布,其支持“卫星蜂窝”多模式的高集成度NTN卫星通信模组BG95-S5已成功获得NTN网络运营商Skylo的网络认证。BG95-S5也成为了获得该认证的最新款移远卫星通信模组。 BG95-S5模组顺利获得Skylo认证&a…

使用SIPP发起媒体流性能测试详解

使用SIPP发起媒体流性能测试详解 一、SIPP工具简介二、测试前的准备三、编写测试脚本四、运行测试五、分析测试结果六、总结SIPP(SIP Performance Protocol)是一个开源工具,专门用于SIP(Session Initiation Protocol)协议的性能测试和基准测试。SIP是一种用于控制多媒体通…