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

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

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

Carsaid

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

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

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

  • 服务器端主题(翻译)

  • 客户端主题(翻译)

  • 高级主题(翻译)

  • 扩展阅读(翻译)

  • 个人学习笔记

  • 实验室做题记录

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

    • 客户端

    • 高级主题

      • 不安全的反序列化

        • 学徒-修改序列化对象
          • 题目
          • 实操
        • 从业者-修改序列化数据类型
        • 从业者-使用应用程序功能
        • 从业者-PHP中的任意对象注入
        • 从业者-Apache Commons-Java反序列化
        • 从业者-预构建的小工具链-PHP反序列化
        • 从业者-收录在案的小工具链-Ruby反序列化
        • 专家-自定义小工具链-Java反序列化
        • 专家-自定义小工具链-PHP反序列化
        • 专家-自定义小工具链-PHAR反序列化
      • GraphQL API漏洞

      • 服务端模板注入

      • Web缓存投毒

      • HTTP主机头攻击

      • HTTP请求走私

      • OAuth身份验证漏洞

      • JWT攻击

      • 原型链污染

  • BurpSuite及官方实验室
  • 实验室做题记录
  • 高级主题
  • 不安全的反序列化
carsaid
2023-10-30
目录
题目
实操

学徒-修改序列化对象

# 实验室:修改序列化对象

# 题目

此实验室使用基于序列化的会话机制,因此容易受到 权限提升 的攻击。若要解决该实验,请编辑会话 cookie 中的序列化对象,以利用此漏洞并获得管理员权限。然后,删除用户carlos。

你可以使用以下凭据登录到自己的帐户: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/deserialization/exploiting/lab-deserialization-modifying-serialized-objects
  bgColor: '#001350'
  textColor: '#39d50c'
1
2
3
4
5
6

# 实操

点击 “ACCESS THE LAB” 进入实验室。

Not Found Image

一个购物站点。

Not Found Image

使用题目中提供的用户名和密码进行登录。

Not Found Image

登录之后,通过 BurpSuite 捕获一个请求数据包,在 Cookie 中可以看到session字段,参数值疑似为一段经过 Base64 编码的值。

Not Found Image

转到 BurpSuite 的 “Decoder” 功能模块,对 Cookie 依次进行 URL 解码和 Base64 解码,得到一个 PHP 序列化对象。

这个序列化对象存在一个可疑的值admin: false(布尔类型的0相当于false)

O:4:"User":2:{s:8:"username";s:6:"wiener";s:5:"admin";b:0;}
1
Not Found Image

在网站的/admin目录下,存在一个管理界面,需要管理员身份才能访问。

Not Found Image

看到先前的序列化对象,将admin: false修改为admin: true(布尔类型的1相当于true):

O:4:"User":2:{s:8:"username";s:6:"wiener";s:5:"admin";b:1;}
1

然后对 修改过后的序列化对象 进行 Base64 编码,然后对特殊字符(例如=)进行 URL 编码:

Tzo0OiJVc2VyIjoyOntzOjg6InVzZXJuYW1lIjtzOjY6IndpZW5lciI7czo1OiJhZG1pbiI7YjoxO30=

Tzo0OiJVc2VyIjoyOntzOjg6InVzZXJuYW1lIjtzOjY6IndpZW5lciI7czo1OiJhZG1pbiI7YjoxO30%3d
1
2
3

将生成的恶意序列化对象覆盖到 Cookie 的session字段中,然后再次访问管理界面。

Not Found Image

成功利用反序列化漏洞实现了 权限提升。

点击 “Delete” 按钮删除 carlos 账户。

Not Found Image

删除成功,实验完成。

Not Found Image
编辑 (opens new window)
从业者-跨站点WebSocket劫持
从业者-修改序列化数据类型

← 从业者-跨站点WebSocket劫持 从业者-修改序列化数据类型→

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