burpsuite官方靶场之逻辑漏洞篇

2024-07-02 251 0

1.过于信任客户端控件

1.1 达成目标

用wiener买一件Lightweight l33t leather jacket。

提供的账户:wiener/peter

1.2攻击步骤

第一步,登录wienr,并且来到主界面,发现Lightweight l33t leather jacket要$1337,而我们只有$100。

由此可见,我们需要更改其价格来进行购买。

burpsuite官方靶场之逻辑漏洞篇插图

第二步,来到商品详情界面,添加到购物车。

burpsuite官方靶场之逻辑漏洞篇插图1

第三步,对加入购物车进行抓包,发现如下数据包。

burpsuite官方靶场之逻辑漏洞篇插图2

尝试更改其price的参数值。然后发送到浏览器。

burpsuite官方靶场之逻辑漏洞篇插图3

burpsuite官方靶场之逻辑漏洞篇插图4

2.高等级的逻辑缺陷

2.1 达成目标

登录提供的账户,然后购买"Lightweight l33t leather jacket"。提供的账户如下:

wiener/peter

2.2 攻击步骤

第一步,来到该在线的购物商场,让自己保持登录的状态,然后进入Lightweight "l33t" Leather Jacket的详情页面。

burpsuite官方靶场之逻辑漏洞篇插图5

第二步,把该商品添加到账户的购物车,并对此进行抓包。在quantity这里传递一个负数值。

burpsuite官方靶场之逻辑漏洞篇插图6

burpsuite官方靶场之逻辑漏洞篇插图7

但是我们进行结算的时候,发现是不允许负数结算的。

burpsuite官方靶场之逻辑漏洞篇插图8

第三步,调整一下策略,我们需要购买一件目标商品,然后再购买大量负数的商品,以保证总价格在100以下

burpsuite官方靶场之逻辑漏洞篇插图9

burpsuite官方靶场之逻辑漏洞篇插图10

burpsuite官方靶场之逻辑漏洞篇插图11

3.矛盾的安全控制

3.1 达成目标

该实验存在其逻辑缺陷——任意用户访问只对公司员工可用的功能。为了解决该实验,访问管理面板删除员工carlos。

3.2 攻击步骤

进入该靶场,发现右上角划线有个账户和注册的功能。

burpsuite官方靶场之逻辑漏洞篇插图12

点击账户就跳转到了登录界面,但是我们并没有账户,因此注册一个账户。

burpsuite官方靶场之逻辑漏洞篇插图13

邮箱填写Email client所给的邮箱

burpsuite官方靶场之逻辑漏洞篇插图14

burpsuite官方靶场之逻辑漏洞篇插图15

跳转到Email client,也就是攻击者自己的邮箱点击注册链接完成注册,然后使用才注册好的邮箱进行登录

burpsuite官方靶场之逻辑漏洞篇插图16

登录完成后跳转到My Account页面,输入该公司内部邮箱来更新其邮箱。

burpsuite官方靶场之逻辑漏洞篇插图17

更新了邮箱之后,来到其admin panel删除carlos账户。

burpsuite官方靶场之逻辑漏洞篇插图18

burpsuite官方靶场之逻辑漏洞篇插图19

4.有缺陷的商业规则实施

4.1 达成目标

这个实验室在购买流程有逻辑缺陷,为了解决这个实验,利用缺陷购买"Lightweight l33t leather jacket"。

该实验提供如下账户:

wiener/peter

4.2 攻击步骤

第一步,登录给定的账户,然后观察home页面。

发现在划线部分有优惠券,因此可以产生一定的折扣。

burpsuite官方靶场之逻辑漏洞篇插图20

在底部,发现有一个注册订阅按钮,意思是注册定位我们的简报。点击看看。

burpsuite官方靶场之逻辑漏洞篇插图21

在输入了自己的电子邮件之后,会给出一个新的优惠券。

burpsuite官方靶场之逻辑漏洞篇插图22

第二步,购买指定的商品,也就是"Lightweight l33t leather jacket",并且使用两个优惠券。

burpsuite官方靶场之逻辑漏洞篇插图23

现在,有个大胆的想法,由于没有其他优惠券了,因此交替重复使用这两张优惠券,看能不能够打骨折。

第三步,获取到了使用两个优惠券的数据包。放置到repeater,进行交替重放。

burpsuite官方靶场之逻辑漏洞篇插图24

burpsuite官方靶场之逻辑漏洞篇插图25

burpsuite官方靶场之逻辑漏洞篇插图26

5.低等级逻辑缺陷

5.1 达成目标

该实验没有充分验证用户输入。你能够利用在购买流程中的逻辑缺陷,以未预料到的价格购买商品。为了解决该实验,需要购买一件"Lightweight l33t leather jacket"。

你能够以指定账户进行登录:wiener/peter

5.2 攻击步骤

第一步,使用指定的账户进行登录。然后选中指定的商品进行购买,并且对该购买的流程进行抓包。

burpsuite官方靶场之逻辑漏洞篇插图27

burpsuite官方靶场之逻辑漏洞篇插图28

第二步,把其数据包放置到intruder功能项,然后设置数量为99

burpsuite官方靶场之逻辑漏洞篇插图29

在其payloads这里,设置为Null payloads,并且设置成持续性的发送

burpsuite官方靶场之逻辑漏洞篇插图30

资源池这里设置为单线程

burpsuite官方靶场之逻辑漏洞篇插图31

回到购物篮,观察其页面,会发现到一定数量之后变成负数。

burpsuite官方靶场之逻辑漏洞篇插图32

因此可以推断,当购买数量大到一定程度,其总价会变成负数。那么继续增加其购买数量,负数的总价就会趋近于0,再购买其他的商品,那么价格就在100以内了。

第三步,清空购物车,再次使用intruder进行攻击,不一样的地方在与设置其payload的数量为323。

burpsuite官方靶场之逻辑漏洞篇插图33

然后把购买数量设置成47,并且重放其数据包。

burpsuite官方靶场之逻辑漏洞篇插图34burpsuite官方靶场之逻辑漏洞篇插图35

第四步,再购买一些其他的商品,把价格凑到100以内。

burpsuite官方靶场之逻辑漏洞篇插图36

burpsuite官方靶场之逻辑漏洞篇插图37

5.3 一个问题

为什么在该靶场中,当总价达到一定数量之后,会变成负数呢?

首先,该靶场的总价是一个整数,也就是int,它是用32位2进制表示的有符号的整数,也就是说它的取值范围在(2,147,483,647,-2,147,483,647)。

如果当正数超过这个数值的时候,那么就会回到最小的数值,也就是-2,147,483,64,形成了一个循环。

6.矛盾的异常输入处理

6.1 达成目标

该实验没有充分验证用户输入,你能利用账户注册进程的逻辑缺陷来访问管理功能。为了解决该实验,访问管理面板并且删除用户carlos。

6.2 攻击步骤

观察该页面,发现该实验是和前面的矛盾的安全控制是一样的功能界面。

burpsuite官方靶场之逻辑漏洞篇插图38

第一步,在Burp的target功能中选择画框部分也就是实验室域,然后右键点击该项,选择Engagement tools > discovery content,爬取其隐藏的网站的内容与路径。

burpsuite官方靶场之逻辑漏洞篇插图39

点击步骤1运行。

burpsuite官方靶场之逻辑漏洞篇插图40

发现了一个admin的路径,显示401。

burpsuite官方靶场之逻辑漏洞篇插图41

从高亮部分可以看出,只有DontWannaCry用户才能访问该路径。

burpsuite官方靶场之逻辑漏洞篇插图42

第二步,利用其注册功能进行注册,并且需要注意的是,其注册的邮箱地址字符超过255个字符,字符长度为259。

burpsuite官方靶场之逻辑漏洞篇插图43

进行登录发现后面的.net被截断了。

burpsuite官方靶场之逻辑漏洞篇插图44

第三步,利用邮箱地址最大长度只有255,超过长度截断的特点进行注册绕过。

burpsuite官方靶场之逻辑漏洞篇插图45

该超长的字符被截断后就是aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@dontwannacry.com.exploit

burpsuite官方靶场之逻辑漏洞篇插图46

burpsuite官方靶场之逻辑漏洞篇插图47

6.3 补充说明

字符生成代码如下:

email = '@dontwannacry.com.exploit-0ae000d403cdcb3087e34d5301e7005e.exploit-server.net'
origin_email = '.exploit-0ae000d403cdcb3087e34d5301e7005e.exploit-server.net'
str = 'a'

print(len(email))
print(len(origin_email))
count = 239
whilecount > 1:
email = str + email
count -= 1

print(email)
print(len(email))

7.两用端点的弱隔离

7.1 达成目标

该实验做了一个用户权限等级是基于输入的有缺陷的假设。因此,你能利用这个账户管理特征的逻辑来访问任意用户的账户。为了解决这个实验,访问administrator账户来删除carlos账户。

该实验给了一个指定的账户:wiener/peter

7.2 攻击步骤

第一步登录给定的账户,发现有更改密码的功能。

burpsuite官方靶场之逻辑漏洞篇插图48

第二步,对更改密码进行抓包。

burpsuite官方靶场之逻辑漏洞篇插图49

burpsuite官方靶场之逻辑漏洞篇插图50

第三步,利用修改的密码进行登录。

burpsuite官方靶场之逻辑漏洞篇插图51

8.不充分的工作流程验证

8.1 达成目标

该实验在一系列购买流程的事件序列做了有缺陷的假设。为了解决这个实验,利用这个缺陷购买一件"Lightweight l33t leather jacket"。

你能使用给定的账号进行登录:wiener/peter

8.2 攻击步骤

第一步,登录给定的账号。

burpsuite官方靶场之逻辑漏洞篇插图52

第二步,购买能负担的商品,并且对其购买的流程进行抓包观察。

发现在该流程中,最后的结算的时候会触发一个/cart/checkout的请求,该请求会跳转请求/cart/order-confirmation?order-confirmed=true,也就是说它会对订单进行确认。

burpsuite官方靶场之逻辑漏洞篇插图53

现在有个大胆的想法,在购物篮中添加指定的商品,也就是"Lightweight l33t leather jacket",然后在重放这个订单确认的数据包。

burpsuite官方靶场之逻辑漏洞篇插图54

burpsuite官方靶场之逻辑漏洞篇插图55

burpsuite官方靶场之逻辑漏洞篇插图56

9.通过有缺陷的状态机绕过身份验证

9.1 达成目标

该实验在登录进程的一系列事件中做了有缺陷的假设。为了解决该实验,利用这个缺陷来绕过实验的身份验证,访问管理接口,来删除用户carlos。

你能登录给定的账户:wiener/peter

9.2 攻击步骤

第一步,使用给定的账户进行登录,并抓取相应的数据包。

通过观察发现,当进行登录了之后(也就是第一个数据包);第二个数据包就是获取/role-selector页面;第三个数据包就是选择其角色,当选择完之后;第四个数据包就是跳转到home页面。

burpsuite官方靶场之逻辑漏洞篇插图57

现在有个大胆的想法,既然登录之后会自动请求角色选择页面,然后才是跳转到主界面。那么是否可以直接丢弃中间的角色选择页面,直接请求主界面。

第二步,重新进行登录,然后丢弃/role-selector数据包,直接请求home界面。

操作之后发现,可以直接访问到admin panel

burpsuite官方靶场之逻辑漏洞篇插图58

burpsuite官方靶场之逻辑漏洞篇插图59

10.无限金钱逻辑缺陷

10.1 达成目标

该实验在购买流程有逻辑缺陷。为了解决该实验,利用这个缺陷购买一件 "Lightweight l33t leather jacket"。

你能用给定的账户进行登录:wiener/peter

10.2 攻击步骤

第一步,使用给定的账户进行登录,并且观察该实验室的页面。

观察Home页面发现,在该页面最下方,有一个注册订阅的按钮,提示可以订阅简报。

burpsuite官方靶场之逻辑漏洞篇插图60

订阅之后,显示给了一个优惠券SIGNUP30

burpsuite官方靶场之逻辑漏洞篇插图61

相当于有了一个七折的优惠。

其次,发现在my account页面有一个gift cards的功能模块。

burpsuite官方靶场之逻辑漏洞篇插图62

在主界面有对应的gift card商品。

burpsuite官方靶场之逻辑漏洞篇插图63

第二步,尝试利用优惠券来购买gift card商品,看看会发生什么。

当购买了两次之后,发现,会发送一个gift card code给我们,我们把这个代码放在my account的gift cards输入框输入,发现我们的钱包会在100的基础上面多了三元。

burpsuite官方靶场之逻辑漏洞篇插图64

burpsuite官方靶场之逻辑漏洞篇插图65

现在,我有了一个大胆的想法,那就是,重复利用其七折优惠券购买gift card商品,达到通过购买的方式让自己的钱变多(我也是第一次见- -)。

话不多说,直接开干,发家致富不是梦。

第三步,把上述的想法,利用burp来实现,上面的这一系列的操作,涉及到了如下的五个数据包。

第一个数据包,把gift card放到购物篮。

第二个数据包,使用7折优惠券。

第三个数据包,进行结算检查。

第四个数据包,订单信息的确认。

第五个数据包,使用第四个数据包给的gift card code进行发家致富。

burpsuite官方靶场之逻辑漏洞篇插图66

现在,我们要把上述的操作自动化,因此就要用到burp设置里面的macro。(在第二篇 authentication vul中的2.3 暴力破解绕过双因素认证也使用过该功能)

1.来到macros功能,创建一个macro,并且进行一系列配置。

burpsuite官方靶场之逻辑漏洞篇插图67

burpsuite官方靶场之逻辑漏洞篇插图68

burpsuite官方靶场之逻辑漏洞篇插图69

burpsuite官方靶场之逻辑漏洞篇插图70

burpsuite官方靶场之逻辑漏洞篇插图71

2.应用该macro。

burpsuite官方靶场之逻辑漏洞篇插图72

burpsuite官方靶场之逻辑漏洞篇插图73

burpsuite官方靶场之逻辑漏洞篇插图74

burpsuite官方靶场之逻辑漏洞篇插图75

第四步,把/my-account的get包发送到intruder,然后利用null payload生成420个数据包。

burpsuite官方靶场之逻辑漏洞篇插图76

burpsuite官方靶场之逻辑漏洞篇插图77

burpsuite官方靶场之逻辑漏洞篇插图78

burpsuite官方靶场之逻辑漏洞篇插图79

burpsuite官方靶场之逻辑漏洞篇插图80

burpsuite官方靶场之逻辑漏洞篇插图81

11.通过加密绕过认证oracle

11.1 达成目标

该实验存在一个逻辑缺陷,将加密的oracle暴露给用户。为了解决该实验,利用这个缺陷访问管理面板,并且删除carlos用户。

你能使用给定的用户进行登录——wiener/peter

11.2 攻击步骤

第一步,来到登录界面,选中Stay logged in进行登录。

burpsuite官方靶场之逻辑漏洞篇插图82

观察其登录的数据包会发现,在其对应的响应包的Set-Cookie header存在一个stay-logged-in参数。也就是说,会多出一个持久性cookie。

burpsuite官方靶场之逻辑漏洞篇插图83

并且在该网站的后续请求会带上该持久性cookie。

burpsuite官方靶场之逻辑漏洞篇插图84

第二步,当登陆完成之后,会自动跳转到my account页面。

burpsuite官方靶场之逻辑漏洞篇插图85

尝试在该页面的输入框提交异常数据(不符合电子邮件格式)进行观察。该操作涉及到下面图片的两个数据包。

burpsuite官方靶场之逻辑漏洞篇插图86

观察第一个数据包发现,在发起更改邮箱的数据包请求的响应中,发现在其Set-Cookie存在notification参数。

burpsuite官方靶场之逻辑漏洞篇插图87

观察第二个数据包,也就是第一个数据包的跳转;第一个数据包在提交了更改邮箱的请求之后,会自动跳转到对自己账户页面的请求;在该请求中,会发现其cookie携带了第一个请求的notification,并且观察其响应包发现了,我们提交的email参数的数据明文值。

burpsuite官方靶场之逻辑漏洞篇插图88

因此可以得出,当在自己的账户页面更改其email,并且更改的email是一个异常值的时候,会获取到一个对其异常值加密的notification参数值,并且后续的get /my-account的数据包的响应页面中,解密该参数值。那么我们可以利用这个现成的加解密参数。

第三步,对持久性cookie进行解密。

复制加密数据包里面的持久性cookie。

burpsuite官方靶场之逻辑漏洞篇插图89

把复制的cookie放置到解密数据包,然后查看其明文,发现其持久cookie的构成是——username:timestamp。

burpsuite官方靶场之逻辑漏洞篇插图90

第四步,现在我有个大胆的想法,那就是构造一个管理员的持久性cookie。

# 伪造的管理员的持久性cookie

administrator:1697360707193

# 使用加密数据包对该明文构造的持久性cookie进行加密处理

7Ts30260HSz4jyVcSgzP%2baCtPFfWQrtnwwbYuFUxm9Q3b4cy%2bAgKmWpEIRjGVZD4maP7mX8NG%2f8NKMtSuXXxCA%3d%3d

利用加密数据包请求其明文持久性cookie的密文。

burpsuite官方靶场之逻辑漏洞篇插图91

然后复制改密文,放置到解密数据包对此进行解密。

burpsuite官方靶场之逻辑漏洞篇插图92

把该密文放置到浏览器页面中,观察是否能切换到administrator用户。进行尝试之后,并未成功。

burpsuite官方靶场之逻辑漏洞篇插图93

第五步,回到这个解密数据包,发现我们构造出来的明文明明是——administrator:1697360707193;但是通过加密再解密出来的明文却是——Invalid email address: administrator:1697360707193 。

burpsuite官方靶场之逻辑漏洞篇插图94

现在还不敢妄下结论,把之前的一个加解密数据的响应包和该响应包的notification进行比对看看。

通过观察发现,只要是自己构造的非法的email参数值,其进行加密解密之后,其明文都会加上一个前缀——"invalid email address: "。

burpsuite官方靶场之逻辑漏洞篇插图95

因此,要对密文做处理,也就是删除其加密的前缀。

把对administrator:1697446306837的加密值转发到Decoder功能板块;对其进行url解码以及base64解码;删除前面的23个字节;然后进行base64编码和url编码。

burpsuite官方靶场之逻辑漏洞篇插图96

然后把该值复制到decrypt解密数据包,进行重放攻击。

观察其响应的数据包,发现出现了报错:使用填充密码解密时,输入长度必须是16的倍数。也就是说必须得把它填充成16的倍数。

burpsuite官方靶场之逻辑漏洞篇插图97

第六步,对email输入的administrator:1697360707193进行九个字节的填充,也就是xxxxxxxxxadministrator:1697360707193。然后在执行第五步的操作。

burpsuite官方靶场之逻辑漏洞篇插图98

这样就成功去掉了前面的"invalid email address: "

burpsuite官方靶场之逻辑漏洞篇插图99

第七步,把这一串加密值复制到cookie的stay-logged-in参数里面。

burpsuite官方靶场之逻辑漏洞篇插图100

burpsuite官方靶场之逻辑漏洞篇插图101


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

电力企业 | 安全建设框架
HTB-Infiltrator:一文带你走进域渗透
JAVA安全 | Classloader:理解与利用一篇就够了
多角度揭秘威胁行为组织CryptoCore复杂的加密货币欺诈活动
网络空间的“边水往事”?针对华语黑产及用户进行攻击的 APT-K-UN3 活动分析
伪装“黑神话悟空修改器”传播木马的活动分析

发布评论