BurpSuite官方实验室之逻辑漏洞

news2025/1/19 20:44:34

BurpSuite官方实验室之逻辑漏洞

这是BurpSuit官方的实验室靶场,以下将记录个人逻辑漏洞共11个Lab的通关过程

Web Security Academy: Free Online Training from PortSwigger

lab1:

Excessive trust in client-side controls

过度信任客户端控件

目标是买一件Lightweight “l33t” Leather Jacket,给了账号和密码账户wiener:peter
在这里插入图片描述

登录后账号只有100美金但购买的商品是1337美金,直接购买会提示余额不足。

在这里插入图片描述

查看了apply和place order的请求包并不存在相关的金额数量参数

重新将商品加入购物车拦截请求包

在这里插入图片描述

请求包如下

在这里插入图片描述

猜测price为金额字段进行修改,修改为0和0.1失败,修改为1成功加入购物车,金额为0.01美元

在这里插入图片描述

成功提交订单

在这里插入图片描述

lab2:

High-level logic vulnerability

高级逻辑漏洞

目标同样是买一件Lightweight “l33t” Leather Jacket

同样拦截加入购物车的请求包,发现没了price只能更改数量

在这里插入图片描述

加入另一个商品,抓包更改请求quantity属性为-20

在这里插入图片描述

总价为负数提交失败,增加到正数

在这里插入图片描述

购买成功

在这里插入图片描述

lab3:

Inconsistent security controls

不一致的安全控制

目标到管理后台删除Carlos用户

在target=>site map

在这里插入图片描述

可以线程数设置大一点,扫的有点慢

在这里插入图片描述

也可以用脚本,扫到存在/admin的路径

在这里插入图片描述

尝试访问/admin,访问失败说只有DontWannaCry用户才能访问这个界面

在这里插入图片描述

这个DontWannaCry是什么鬼,进入注册页面给了提示,使用@dontwannacry.com的邮箱地址就可以了

在这里插入图片描述

用@dontwannacry.com结尾的邮箱注册失败

在这里插入图片描述

在email client界面找到了我们的邮箱

格式为

 @exploit-0a98002904e66735c1014106016d00d1.exploit-server.net

在这里插入图片描述

注册一个

tpaer@exploit-0a98002904e66735c1014106016d00d1.exploit-server.net

找到响应的link

在这里插入图片描述

访问url注册成功

在这里插入图片描述

登录来到如下页面

在这里插入图片描述

直接把邮箱后缀修改为@dontwannacry.com结尾,成功多出Admin pannel

在这里插入图片描述

删除Carlos用户成功通关
在这里插入图片描述

lab4:

Flawed enforcement of business rules

商业规则的执行有缺陷

目标购买Lightweight “l33t” Leather Jacket,进页面给了提示在结账时使用这个code

在这里插入图片描述

取结账页面发现这个代码实际是一个5美金优惠券的代码,添加即可减少金额

在这里插入图片描述

减5美金肯定是不够的,看看这个券的code能不能重复使用,显示优惠券重复使用了
在这里插入图片描述

看在哪还能找到优惠券,在商品底部发现一个sign up界面
在这里插入图片描述

用我们的邮箱登录获得了另一张优惠券SIGNUP30

在这里插入图片描述

这个减的多减了400刀,但还是买不起

在这里插入图片描述

试着可不可以间优惠券重复利用,成功利用

在这里插入图片描述

利用该逻辑漏洞成功零元购

在这里插入图片描述

lab5:

Low-level logic flaw

低级逻辑缺陷

目标购买Lightweight “l33t” Leather Jacket

还是钱不够,可控的只有商品的购买数量

在这里插入图片描述

如果一个参数超过了后端编程语言变量类型的整数最大值就会循环到最小值

例如-2147483648~2147483647,当超过2147483647就会从-2147483648开始

我们可以控制数量进而控制总金额超过整数最大值变为负数,配合购买其他商品实现零元购。

更改quantity商品增加数量为99(最大值),试了100不可以

在这里插入图片描述

在这里插入图片描述

开始爆破到总价趋近于0时停止,经测试大概320多次99
在这里插入图片描述

接下来添加另一个商品,将总金额提升到0~100
在这里插入图片描述

成功购买

在这里插入图片描述

lab6:

Inconsistent handling of exceptional input

异常输入的不一致处理

目标到管理面板删除carlos用户

这个关卡似曾相识和lab3差不多,尝试一样的方法注册账号

在这里插入图片描述

知道了我们注册的邮箱后缀,进行注册

@exploit-0a81002e04cdda20c143199d014d00b6.exploit-server.net

在这里插入图片描述

登录后台这次不一样了,没给更改邮箱的按钮

在这里插入图片描述

尝试使用

{多个字符}@dontwannacry.com@exploit-0a81002e04cdda20c143199d014d00b6.exploit-server.net

多个字符把后面的@exploit-0a81002e04cdda20c143199d014d00b6.exploit-server.net屏蔽掉

ssdsasdasdsadsasdasdasdsadasdasdsadsadsadsadasdsadsadasdasdsadsadsadsadsadsadsadadasdasdsadasdasdassssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss@dontwannacry.com.exploit-0a81002e04cdda20c143199d014d00b6.exploit-server.net

在这里插入图片描述

成功进入管理面板删除carlos用户

在这里插入图片描述

lab7:

Weak isolation on dual-use endpoint

两用端点上的弱隔离

目标是登录administrator删除carlos用户,给了账号密码wiener:peter

登录后界面如下,尝试更改密码

在这里插入图片描述

抓包

在这里插入图片描述

删除current-password看是否能修改,修改成功

在这里插入图片描述

更改username为administrator看是否能修改其他用户密码,修改成功
在这里插入图片描述

使用administrator账户登录,删除carlos
在这里插入图片描述

lab8:

Insufficient workflow validation

工作流验证不足

目标给了账号让买商品

号里有100刀,先随便购买一个便宜的place order并抓包

POST /cart/checkout请求会重定向到订单确认页面

在这里插入图片描述

GET /cart/order-confirmation?order-confirmation=true

在这里插入图片描述

成功购买

在这里插入图片描述

当将购买商品加入购物车
在这里插入图片描述

重新发包GET /cart/order-confirmation?order-confirmation=true

在这里插入图片描述

购买成功
在这里插入图片描述

lab9:

Authentication bypass via flawed state machine

通过有缺陷的状态机绕过认证

目标给了用户管理界面删除carlos

登录后有个选角色的界面

在这里插入图片描述

抓包登录

在这里插入图片描述

其中第二个包/role-selector好像是角色选取把它drop掉

在这里插入图片描述

现在路径如下

https://0a6300dc03469877c024b48000ce0035.web-security-academy.net/role-selector

在这里插入图片描述

删除/role-selector直接访问首页,因为跳过了角色选择默认为administrator当访问首页是以administrator权限进行访问的因此会有Admin panel

在这里插入图片描述

直接进入Admin panel删除carlos

在这里插入图片描述

lab10:

Infinite money logic flaw

无限金钱逻辑缺陷

目标买商品

在页面底端注册获得优惠券

SIGNUP30

在这里插入图片描述

使用优惠券购买Gift Card礼品卡(礼品卡相当于一个10元的购物券可以赠送),当用3元优惠券购买10元的礼品卡,就相当于7元购买了10元然后再进行使用用户的余额就会多了3元将优惠券金额转换为真实的余额。

在这里插入图片描述

购买后得到礼品卡的卡号

YRhyyNYl8T

在这里插入图片描述

在用户页面进行兑换

在这里插入图片描述

余额成功如预期一样增加了3元

在这里插入图片描述

如果优惠券可以重复使用,就可以利用该操作达到无限金额的效果,成功复用优惠券

在这里插入图片描述

接下来利用bp中的宏来进行完成一系列的自动化操作

首先新建规则,范围包括所有的URL:

在这里插入图片描述

新建宏指令:

在这里插入图片描述

选择如下5个URL

在这里插入图片描述

为第四个URL配置项目
在这里插入图片描述

选择gift-card的code并起名gift-card

在这里插入图片描述

在这里插入图片描述

为第五个URL配置项目

在这里插入图片描述

选择参数 gift-card 的来源自第四个响应包:

在这里插入图片描述

配置完毕后测试宏,账户成功又增加了3刀
在这里插入图片描述

sniper模式爆破/my-account
在这里插入图片描述

在这里插入图片描述

需要单线程来跑,这个2022的burp

在这里插入图片描述

跑了很久终于跑完了

在这里插入图片描述

lab11:

Authentication bypass via encryption oracle

通过加密oracle绕过身份验证

目标管理界面删除carlos

登录界面,有stay logged in(保持登录状态)选项

在这里插入图片描述

勾选登录会有如下请求包

在这里插入图片描述

在评论区评论

在这里插入图片描述

拦截到如下请求:

第一个包

在这里插入图片描述

第二个包

在这里插入图片描述

第三个包
在这里插入图片描述

当使用错误的电子邮箱评论时
在这里插入图片描述

响应会重定向到刚才的博客页面,并设置一个加密的cookie字段notification

在这里插入图片描述

在这里插入图片描述

将cookie中的stay-logged-in字段复制到notification中进行发包得到当前用户名+时间戳

wiener:1669636281964

在这里插入图片描述

邮件参数更改为管理员用户名+时间戳

administrator:1669636281964

发送请求后从cookie字段 得到新的 notification 的值,解密后发现有干扰字段 Invalid email

在这里插入图片描述

在这里插入图片描述

将得到的新的 notification 利用 Burp Decoder进行解密加密

Decode:

URL=>Base64=>Hex删除23字节
在这里插入图片描述

Encode:

Base64=>URL

在这里插入图片描述

最终得到

%7a%7a%73%4c%34%6d%6f%68%30%6e%77%4d%34%53%55%76%70%78%73%31%5a%42%4f%4f%30%71%6a%4a%68%46%35%59%76%48%62%34%77%39%4e%69%6b%4d%65%79%57%73%39%6b%6c%50%46%73%77%39%49%3d

将编码替换到cookie 字段的 notification 值

随后观察错误信息发现使用了基于块的加密算法,输入长度必须是16的倍数

在这里插入图片描述

用一些的字节来填充 email,最后获得新的 notification

administrator + 时间戳

xxxxxxxxxadministrator:1669636281964

在这里插入图片描述

FklldvYsXP81Suq15eJd7AQ75jOjvpsPom8buuyniI5aMt2BY3cKBS2oxaIO%2b24xz3qDeQHraVMB0fT49MivDA%3d%3d

对字符串进行解码编码:

Decode:

URL=>Base64=>Hex删除32字节(16倍数)
在这里插入图片描述

Encode:

Base64=>URL

在这里插入图片描述

最终得到如下编码,替换notification重发评论包可以看到正确的administrator + 时间戳

%57%6a%4c%64%67%57%4e%33%43%67%55%74%71%4d%57%69%44%76%74%75%4d%63%39%36%67%33%6b%42%36%32%6c%54%41%64%48%30%2b%50%54%49%72%77%77%3d

在这里插入图片描述

点击 HOME 回到主页,拦截请求包,删除cookie中的 session ,替换 stay-logged-in 为刚才解码的得到的URL编码,修改后放包
在这里插入图片描述

回到主页面后发现是以administrator身份登录的,有Admin panel的管理界面
在这里插入图片描述

删除carlos成功通关

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyTorch学习笔记-Convolution Layers与Pooling Layers

1. Convolution Layers 由于图像是二维的,因此基本上最常用到的就是二维的卷积类:torch.nn.Conv2d,官方文档:torch.nn.Conv2d。 Conv2d 的主要参数有以下几个: in_channels:输入图像的通道数&#xff0c…

IDEA关于数据库报错SQL dialect is not configured或Unable to resolve table ‘表名‘

目录一、SQL dialect is not configured1.1 报错场景展示1.2 方式一,万能altenter1.3 方式二,在setting中设置二、Unable to resolve table 表名2.1 报错场景展示2.2 方式一,万能altenter2.3 方式二,在setting中设置一、SQL diale…

vscode开发STM32(三)---调试篇

vscode开发STM32(三)—调试篇 文章目录vscode开发STM32(三)---调试篇前提条件配置调试配置JLink使用JLinkGDB进行调试配置stlink使用openOCD进行调试完整的launch文件内容前提条件 安装Cortex-Debug插件 安装OpenOCD 安装JLink驱…

LeetCode HOT 100 —— 48.旋转图像

题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 思路 方法一:使用辅助数组 可以得出规律,将图像旋…

集合框架----源码解读HashMap篇(一)

1.HashMap官方介绍 基于哈希表的Map接口实现。该实现提供了所有可选的映射操作,并允许空值和空键。(HashMap类大致相当于Hashtable,除了它是非同步的,并且允许为空值。)这个类不保证映射的顺序;特别是,它不能保证顺序随时间的推移…

Nodejs -- Express托管静态资源

文章目录托管静态资源1 expess.static()2 托管多个静态资源目录3 挂载路径前缀托管静态资源 1 expess.static() express提供了一个非常好用的函数,叫做express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,例如&…

PG::FunboxEasyEnum

nmap -Pn -p- -T4 --min-rate1000 192.168.81.132 nmap -Pn -p 22,80 -sCV 192.168.81.132 80端口是Apache2 Ubuntu的默认页面 尝试路径爆破 /mini.php可以进行文件上传 直接上传reverse-php-shell 上传linpeas脚本进行枚举,得到oracle用户的密码hash oracle…

2022-11-28-大数据可视化“可视化国产/进口电影票房榜单”分析,特征维度大于50

可视化国产/进口电影票房榜单前言数据分析数据可视化过程分析总结前言 党的十八大以来,国产电影产业与事业快速发展,创作水平不断提高,题材类型丰富多元,受众口碑不断提升,在市场竞争中表现愈发突出,已成为…

《论文阅读》BA-NET: DENSE BUNDLE ADJUSTMENT NETWORKS

留个笔记自用 BA-NET: DENSE BUNDLE ADJUSTMENT NETWORKS 做什么 首先是最基础的,Structure-from-Motion(SFM),SFM可以简单翻译成运动估计,是一种基于dui8序列图片进行三维重建的算法。简单来说就是是从运动中不同角…

【Python】记录从3.9升级到3.11踩的坑

写在前面的话:如果想体验python3.11,不推荐生产环境升级,可以现在测试环境试试看 环境变化 原始环境 Python3.9,有挺多安装的第三方库,有自己写的类和方法,程序一切运行正常 升级环境 Python3.11&#…

如何获取Adreno GPU数据

什么是GPU GPU(Graphic Processing Unit)是图形处理器,相当于在计算机和移动终端上做图形图像运算工作的微处理器,显示芯片。通过向量计算和并行计算等方式加速了原有的计算工作,能够更好地处理几何转换和光照计算等&a…

如何与意法半导体STMicro建立EDI连接?

项目背景 意法半导体STMicro是全球最大的半导体公司之一,2010 年净收入 103.5 亿美元,2011 年第二季度净收入 25.7亿美元。 以业内最广泛的产品组合著称,凭借多元化的技术、尖端的设计能力、知识产权组合、合作伙伴战略和高效的制造能力&…

pdf怎么编辑?分享两款pdf编辑软件,编辑pdf也很简单!

pdf怎么编辑?其实也很简单,现在跟大家分享两款pdf编辑软件,可以让我们对pdf实现自由编辑修改,有了这两款pdf编辑软件,编辑pdf将不再困难。 pdf编辑软件一:万兴pdf编辑软件 万兴pdf是一款受众广泛&#xff0…

【设计】OOA、OOD、OOP

这三者都是 OO(Object-Oriented)领域的思想。 一般我们我们接到产品经理的需求后,开发阶段分这样几个步骤: 可行性预研阶段,此阶段评估需求是否合理,能否实现;OOA阶段,此阶段分析用…

【Lilishop商城】No2-5.确定软件架构搭建四(本篇包括消息中间件RocketMQ)

仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在: 【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇只介绍重点架构逻辑,具体编写看源代码就行,读起来也不复杂~ 谨慎&#xff…

Python:如何在 CentOS 8 服务器上运行 Selenium 代码?

前言 因项目需求,需要在 CentOS 8 服务器上运行 Python-Selenium 代码,那么该如何操作呢? 运行环境 CentOS Stream 8Python 3.9.13selenium4.6.0Google Chrome 107.0.5304.121 操作步骤 安装 Google Chrome 下载 Linux 版本的 Chrome 将下…

怎么合并视频?快把这些方法收好

小伙伴们平时会在通过网课来提高自己的技能吗?我经常会在网上保存一系列的视频进行学习,可是当保存的网课视频数量多起来后,每次想要找对应的视频,都得花上不少的时间。其实我们可以通过将相同系列的视频合并起来的方法&#xff0…

java word,excel,ppt转pdf

准备工作 1.下载 jacob.jar 链接:https://pan.baidu.com/s/1TWIGyX9A3xQ6AG9Y3mVlVg 提取码:abcd 2.下载安装wpsWPS Office-支持多人在线编辑多种文档格式_WPS官方网站 3.添加 jar到项目和ddl文件放在jdk的jre/bin目录下,记得自己系统是…

13_cgi

知识点1【cgi实现计算器案例】 2、GET的同步方式&#xff1a; index.html <html><head><title>table</title><meta charset"UTF-8"><!--这是描述 js中的函数来之哪个js文件--><script type"text/javascript" sr…

Kafka基础与核心概念

本文&#xff0c;我们将试图回答什么是apache kafka。 kafka是一个分布式流平台或者分布式消息提交日志 分布式 Kafka 由一个或多个节点组成的工作集群&#xff0c;这些节点可以位于不同的数据中心&#xff0c;我们可以在 Kafka 集群的不同节点之间分布数据/负载&#xff0c;并…