BurpSuite官方实验室之逻辑漏洞

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成功通关

在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值