某不知名博客 某不知名博客
首页
  • 《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-25
目录

学徒-客户端控件-过度信任

# 实验室:过度信任客户端控件

# 题目

此实验室未充分验证用户输入。你可以利用其采购工作流程中的逻辑缺陷,以意外的价格购买商品。要解决实验室问题,请购买一件 “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-excessive-trust-in-client-side-controls
  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

点击购物车图标,进入当前账户的购物车页面。

Not Found Image

点击 “Place order” 提交订单,尝试购买目标商品。

Not Found Image

程序返回错误信息,账户余额不足 购买失败。

Not Found Image

# 购买的缺陷

回到商品详情页面,启用浏览器代理,然后添加一个商品。

Not Found Image

在 添加商品 的请求数据包中出现了 4 个参数,其中有一个很显眼的参数price=133700,这是商品的价格,也就是 1337.00 元。

Not Found Image

在价格处添加一个小数点,从而减少购买价格。

Not Found Image

程序返回错误信息 “无效的参数” ,可能是 price 参数不能出现特殊字符。

Not Found Image

再次添加商品,这次不新增字符,而是删除后面的两个 0 。

Not Found Image

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

Not Found Image

商品的价格从原来的 1337.00 变为了 13.37 。

Not Found Image

如果将请求数据包中的价格改为 1 ,则最终的购买价格为 0.01 。

说明参数 price 的数据类型为整数,程序在接收 price 参数之后,会在整数的基础上添加两位的小数点 并以此作为最终价格。

将价格控制在 100 元以内,然后点击 “Place order” 提交订单。

Not Found Image

商品购买成功,实验完成。

Not Found Image

# 修复建议

支付漏洞1 - 过度信任客户端

  • 旧:客户端发送 price 参数,服务端根据 price 设置价格。
  • 去除 price(价格),改为使用 productId(产品id)。
  • 新:客户端发送 productId 参数,服务端根据 productId 查找商品,如果找到对应商品,则设置相应价格。

“价格” 需要服务端内置,客户端提供的价格不可信。

  • A:老板,一件衣服多少钱?
  • B:一件 1337 块钱。
  • A:我说 0.01 就 0.01 ,一分钱都不能多!
编辑 (opens new window)
从业者-OS命令盲注-带外数据泄露
学徒-非常规输入-高级逻辑漏洞

← 从业者-OS命令盲注-带外数据泄露 学徒-非常规输入-高级逻辑漏洞→

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