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
BurpSuite官方实验室之逻辑漏洞_第1张图片

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

BurpSuite官方实验室之逻辑漏洞_第2张图片

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

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

BurpSuite官方实验室之逻辑漏洞_第3张图片

请求包如下

BurpSuite官方实验室之逻辑漏洞_第4张图片

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

BurpSuite官方实验室之逻辑漏洞_第5张图片

成功提交订单

BurpSuite官方实验室之逻辑漏洞_第6张图片

lab2:

High-level logic vulnerability

高级逻辑漏洞

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

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

BurpSuite官方实验室之逻辑漏洞_第7张图片

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

BurpSuite官方实验室之逻辑漏洞_第8张图片

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

BurpSuite官方实验室之逻辑漏洞_第9张图片

购买成功

BurpSuite官方实验室之逻辑漏洞_第10张图片

lab3:

Inconsistent security controls

不一致的安全控制

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

在target=>site map

BurpSuite官方实验室之逻辑漏洞_第11张图片

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

BurpSuite官方实验室之逻辑漏洞_第12张图片

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

BurpSuite官方实验室之逻辑漏洞_第13张图片

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

BurpSuite官方实验室之逻辑漏洞_第14张图片

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

BurpSuite官方实验室之逻辑漏洞_第15张图片

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

BurpSuite官方实验室之逻辑漏洞_第16张图片

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

格式为

 @exploit-0a98002904e66735c1014106016d00d1.exploit-server.net

BurpSuite官方实验室之逻辑漏洞_第17张图片

注册一个

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

找到响应的link

BurpSuite官方实验室之逻辑漏洞_第18张图片

访问url注册成功

BurpSuite官方实验室之逻辑漏洞_第19张图片

登录来到如下页面

BurpSuite官方实验室之逻辑漏洞_第20张图片

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

BurpSuite官方实验室之逻辑漏洞_第21张图片

删除Carlos用户成功通关
BurpSuite官方实验室之逻辑漏洞_第22张图片

lab4:

Flawed enforcement of business rules

商业规则的执行有缺陷

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

在这里插入图片描述

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

BurpSuite官方实验室之逻辑漏洞_第23张图片

减5美金肯定是不够的,看看这个券的code能不能重复使用,显示优惠券重复使用了
BurpSuite官方实验室之逻辑漏洞_第24张图片

看在哪还能找到优惠券,在商品底部发现一个sign up界面
BurpSuite官方实验室之逻辑漏洞_第25张图片

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

BurpSuite官方实验室之逻辑漏洞_第26张图片

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

BurpSuite官方实验室之逻辑漏洞_第27张图片

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

BurpSuite官方实验室之逻辑漏洞_第28张图片

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

BurpSuite官方实验室之逻辑漏洞_第29张图片

lab5:

Low-level logic flaw

低级逻辑缺陷

目标购买Lightweight “l33t” Leather Jacket

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

BurpSuite官方实验室之逻辑漏洞_第30张图片

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

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

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

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

BurpSuite官方实验室之逻辑漏洞_第31张图片

BurpSuite官方实验室之逻辑漏洞_第32张图片

开始爆破到总价趋近于0时停止,经测试大概320多次99
BurpSuite官方实验室之逻辑漏洞_第33张图片

接下来添加另一个商品,将总金额提升到0~100
BurpSuite官方实验室之逻辑漏洞_第34张图片

成功购买

BurpSuite官方实验室之逻辑漏洞_第35张图片

lab6:

Inconsistent handling of exceptional input

异常输入的不一致处理

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

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

BurpSuite官方实验室之逻辑漏洞_第36张图片

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

@exploit-0a81002e04cdda20c143199d014d00b6.exploit-server.net

BurpSuite官方实验室之逻辑漏洞_第37张图片

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

BurpSuite官方实验室之逻辑漏洞_第38张图片

尝试使用

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

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

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

BurpSuite官方实验室之逻辑漏洞_第39张图片

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

BurpSuite官方实验室之逻辑漏洞_第40张图片

lab7:

Weak isolation on dual-use endpoint

两用端点上的弱隔离

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

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

BurpSuite官方实验室之逻辑漏洞_第41张图片

抓包

BurpSuite官方实验室之逻辑漏洞_第42张图片

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

BurpSuite官方实验室之逻辑漏洞_第43张图片

更改username为administrator看是否能修改其他用户密码,修改成功
BurpSuite官方实验室之逻辑漏洞_第44张图片

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

lab8:

Insufficient workflow validation

工作流验证不足

目标给了账号让买商品

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

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

BurpSuite官方实验室之逻辑漏洞_第45张图片

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

BurpSuite官方实验室之逻辑漏洞_第46张图片

成功购买

BurpSuite官方实验室之逻辑漏洞_第47张图片

当将购买商品加入购物车
BurpSuite官方实验室之逻辑漏洞_第48张图片

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

BurpSuite官方实验室之逻辑漏洞_第49张图片

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

lab9:

Authentication bypass via flawed state machine

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

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

登录后有个选角色的界面

BurpSuite官方实验室之逻辑漏洞_第50张图片

抓包登录

BurpSuite官方实验室之逻辑漏洞_第51张图片

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

BurpSuite官方实验室之逻辑漏洞_第52张图片

现在路径如下

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

BurpSuite官方实验室之逻辑漏洞_第53张图片

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

BurpSuite官方实验室之逻辑漏洞_第54张图片

直接进入Admin panel删除carlos

BurpSuite官方实验室之逻辑漏洞_第55张图片

lab10:

Infinite money logic flaw

无限金钱逻辑缺陷

目标买商品

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

SIGNUP30

BurpSuite官方实验室之逻辑漏洞_第56张图片

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

BurpSuite官方实验室之逻辑漏洞_第57张图片

购买后得到礼品卡的卡号

YRhyyNYl8T

BurpSuite官方实验室之逻辑漏洞_第58张图片

在用户页面进行兑换

BurpSuite官方实验室之逻辑漏洞_第59张图片

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

BurpSuite官方实验室之逻辑漏洞_第60张图片

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

BurpSuite官方实验室之逻辑漏洞_第61张图片

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

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

BurpSuite官方实验室之逻辑漏洞_第62张图片

新建宏指令:

BurpSuite官方实验室之逻辑漏洞_第63张图片

选择如下5个URL

BurpSuite官方实验室之逻辑漏洞_第64张图片

为第四个URL配置项目
BurpSuite官方实验室之逻辑漏洞_第65张图片

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

BurpSuite官方实验室之逻辑漏洞_第66张图片

BurpSuite官方实验室之逻辑漏洞_第67张图片

为第五个URL配置项目

BurpSuite官方实验室之逻辑漏洞_第68张图片

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

BurpSuite官方实验室之逻辑漏洞_第69张图片

配置完毕后测试宏,账户成功又增加了3刀
BurpSuite官方实验室之逻辑漏洞_第70张图片

sniper模式爆破/my-account
BurpSuite官方实验室之逻辑漏洞_第71张图片

BurpSuite官方实验室之逻辑漏洞_第72张图片

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

BurpSuite官方实验室之逻辑漏洞_第73张图片

跑了很久终于跑完了

BurpSuite官方实验室之逻辑漏洞_第74张图片

lab11:

Authentication bypass via encryption oracle

通过加密oracle绕过身份验证

目标管理界面删除carlos

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

BurpSuite官方实验室之逻辑漏洞_第75张图片

勾选登录会有如下请求包

BurpSuite官方实验室之逻辑漏洞_第76张图片

在评论区评论

BurpSuite官方实验室之逻辑漏洞_第77张图片

拦截到如下请求:

第一个包

BurpSuite官方实验室之逻辑漏洞_第78张图片

第二个包

BurpSuite官方实验室之逻辑漏洞_第79张图片

第三个包
BurpSuite官方实验室之逻辑漏洞_第80张图片

当使用错误的电子邮箱评论时
BurpSuite官方实验室之逻辑漏洞_第81张图片

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

BurpSuite官方实验室之逻辑漏洞_第82张图片

BurpSuite官方实验室之逻辑漏洞_第83张图片

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

wiener:1669636281964

BurpSuite官方实验室之逻辑漏洞_第84张图片

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

administrator:1669636281964

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

BurpSuite官方实验室之逻辑漏洞_第85张图片

BurpSuite官方实验室之逻辑漏洞_第86张图片

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

Decode:

URL=>Base64=>Hex删除23字节
BurpSuite官方实验室之逻辑漏洞_第87张图片

Encode:

Base64=>URL

BurpSuite官方实验室之逻辑漏洞_第88张图片

最终得到

%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的倍数

BurpSuite官方实验室之逻辑漏洞_第89张图片

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

administrator + 时间戳

xxxxxxxxxadministrator:1669636281964

BurpSuite官方实验室之逻辑漏洞_第90张图片

FklldvYsXP81Suq15eJd7AQ75jOjvpsPom8buuyniI5aMt2BY3cKBS2oxaIO%2b24xz3qDeQHraVMB0fT49MivDA%3d%3d

对字符串进行解码编码:

Decode:

URL=>Base64=>Hex删除32字节(16倍数)
BurpSuite官方实验室之逻辑漏洞_第91张图片

Encode:

Base64=>URL

BurpSuite官方实验室之逻辑漏洞_第92张图片

最终得到如下编码,替换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

BurpSuite官方实验室之逻辑漏洞_第93张图片

点击 HOME 回到主页,拦截请求包,删除cookie中的 session ,替换 stay-logged-in 为刚才解码的得到的URL编码,修改后放包
BurpSuite官方实验室之逻辑漏洞_第94张图片

回到主页面后发现是以administrator身份登录的,有Admin panel的管理界面
BurpSuite官方实验室之逻辑漏洞_第95张图片

删除carlos成功通关

BurpSuite官方实验室之逻辑漏洞_第96张图片

你可能感兴趣的:(从入门到入狱,安全,前端,后端,web安全,运维)