某不知名博客 某不知名博客
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carsaid

安全界的小学生
首页
  • 《vulcat文档》
  • Web安全

    • 《BurpSuite及官方实验室》
    • 《OSWE学习历程》
  • 云原生安全

    • 《Docker命令大全》
    • 《CKS考试学习指南》
    • 《旧-Kubernetes教程》
漏洞库
  • 《渗透工具大全》
  • 《云安全》
事件库
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言

  • 服务器端主题(翻译)

  • 客户端主题(翻译)

  • 高级主题(翻译)

  • 扩展阅读(翻译)

  • 个人学习笔记

  • 实验室做题记录

    • 实验室做题记录
    • 服务器端

      • SQL注入

      • 身份验证

      • 目录遍历

      • OS命令注入

      • 业务逻辑漏洞

        • 学徒-客户端控件-过度信任
        • 学徒-非常规输入-高级逻辑漏洞
          • 题目
          • 实操
          • 修复建议
        • 从业者-非常规输入-低级逻辑缺陷
        • 从业者-非常规输入-异常处理不一致
        • 学徒-有缺陷的假设-安全控制不一致
        • 从业者-有缺陷的假设-复用端点的弱隔离
        • 从业者-有缺陷的假设-工作流验证不充分
        • 从业者-有缺陷的假设-有缺陷的状态机制
        • 学徒-特定领域的缺陷-业务规则的执行缺陷
        • 从业者-特定领域的缺陷-无限金钱
        • 从业者-加密预言机-通过预言机绕过身份验证
      • 信息泄露

      • 访问控制

      • 文件上传漏洞

      • SSRF漏洞

      • XXE注入漏洞

    • 客户端

    • 高级主题

  • BurpSuite及官方实验室
  • 实验室做题记录
  • 服务器端
  • 业务逻辑漏洞
clincat
2023-06-26
目录

学徒-非常规输入-高级逻辑漏洞

# 实验室:高级逻辑漏洞

# 题目

此实验室未充分验证用户输入。你可以利用其采购工作流程中的逻辑缺陷,以意外的价格购买商品。要解决实验室问题,请购买一件 “Lightweight l33t leather jacket” 。

你可以使用以下凭据登录到自己的帐户:wiener:peter

实验室-学徒

高级逻辑漏洞 >>

- name: 实验室-学徒
  desc: 高级逻辑漏洞 >>
  avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
  link: https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-high-level
  bgColor: '#001350'
  textColor: '#39d50c'
1
2
3
4
5
6

# 实操

根据题意,可得实验目标:

  • 该实验室的 采购流程 中存在逻辑缺陷,能够以意外的价格购买商品。
  • 利用逻辑缺陷,以意外的价格购买一件名为 “Lightweight l33t leather jacket” 的商品。

点击 “Access the lab” 进入实验室。

Not Found Image

在首页中可以看到很多商品,其中有我们需要的 “Lightweight l33t leather jacket” 。

点击 “My account” 转到登录页面。

Not Found Image

输入题目中提供的用户名和密码,登录相应账户。

Not Found Image

登录之后,可以看到我们的账户中拥有 100 元,可以用于购买商品。

Not Found Image

回到首页,点击商品下方的 “View details” 进入详情页。

Not Found Image

启用浏览器代理,点击页面下方的 “Add to cart” 添加一个商品到购物车。

Not Found Image

请求数据包中存在三个参数,其中的 quantity 为商品数量。

Not Found Image

在 quantity 参数值的前方添加一个-,使其变为负数,然后放行数据包。

Not Found Image

添加成功,点击购物车图标进入购物页面。

Not Found Image

刚刚添加的负数生效了,1 个商品 1337 元,-1 个商品 -1337 元。

点击 “Place order” 尝试提交订单。

Not Found Image

程序返回错误信息,总价格不能小于 0 。

0元购/负元购 都不行,那怎么办呢?

Not Found Image

那就 1 元购。

现在的价格为 -1337 元,添加其他商品,凑够 1338 元,1338-1337=1元。

Not Found Image

随意选择一个其他商品,将其添加到购物车。

Not Found Image

将价格变为正数,并保持在 100 元以下。

97.67×14-1337=30.38元,没毛病,点击 “Place order” 提交订单。

Not Found Image

购买成功,实验完......诶?怎么没有完成?

看了看题目,又看了看订单,发现我购买的目标商品数量为 -1 个,可能购买的数量必须为 正数 ,不然不算完成。

Not Found Image

那我们将 目标商品 和 其他商品 的数量调换一下就可以了。

回到目标商品的详情页,添加一个目标商品。

Not Found Image

随后来到另一个商品的详情页,启用浏览器代理,然后添加商品。

Not Found Image

这是原数据包,添加了 1 个商品数量。

Not Found Image

将其修改为 -14 个,然后放行数据包。

Not Found Image

进入购物车页面,发现价格为负数,负得太狠了。

点击其他商品的 “+” 将其数量增加一个,使总价格变为正数。

Not Found Image

价格变为正数之后,确保总价格在我们的 购买力 之内,点击 “Place order” 提交订单。

Not Found Image

购买成功,实验完成。

Not Found Image

# 修复建议

支付漏洞2 - 负商品数量

  • 在原来的基础上增加 正负数 校验,不允许添加负数量的商品。每当商品数量小于 1 时,直接从购物车移除该商品。

(查看账单)亲,您这个月卖出了 -999 件衣服,总收入 -99900 元,超过全球 0.00% 的用户,真是太棒了!请您再接再厉!

编辑 (opens new window)
学徒-客户端控件-过度信任
从业者-非常规输入-低级逻辑缺陷

← 学徒-客户端控件-过度信任 从业者-非常规输入-低级逻辑缺陷→

最近更新
01
API测试笔记
04-30
02
msfvenom
03-29
03
Metasploit
03-29
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Carsaid | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式