极客大挑战JAVA题目WP

WriteUp 2个月前 admin
52 0 0

极客大挑战JAVA题目WP

极客大挑战JAVA题目WP


Java该题目源码位于 https://github.com/yaklang/yaklang/tree/geek2023)  


分析

极客大挑战JAVA题目WP

极客大挑战JAVA题目WP

打开后是一个登录框。

极客大挑战JAVA题目WP


登录

极客大挑战JAVA题目WP

登录是明文传输的,可以直接从源码看密码,也可以爆破一下

极客大挑战JAVA题目WP

通过Header相似度可以找出登录成功的认证信息:admin123456

极客大挑战JAVA题目WP

登录后是一个表单,修改下信息保存,抓包查看。可以看见保存时先调用了/marshalinfo接口对信息序列化,又调用invoke将序列化信息传给后端更新信息。

极客大挑战JAVA题目WP

对序列化信息解析下,可以看到关键字my serilizersr,猜测是魔改了writeObject方法

极客大挑战JAVA题目WP

除此还可以看到一些信息,包括姓名、性别、年龄、和secretsecret是一个文件路径,猜测可以修改文件路径,读取任意文件

极客大挑战JAVA题目WP

可以先尝试直接修改/tmp/admin_secret

极客大挑战JAVA题目WP

改了后调用更新接口

极客大挑战JAVA题目WP

刷新网页,发现性别修改成功,但是secret没修改成功,看来只会修改namesexage

极客大挑战JAVA题目WP

题目给了jar包,直接看源码吧,使用jd打开可以看见源码结构

极客大挑战JAVA题目WP

先看更新接口,对输入内容反序列化,然后对旧信息更新(只更新了namesexagehash),然后对更新后的信息进行了序列化,储存到redis

极客大挑战JAVA题目WP

再看inputouput,对序列化过程进行了一些魔改

极客大挑战JAVA题目WP

可以看见User重写了writeObjectreadObject

极客大挑战JAVA题目WP

序列化时把所有字段使用分隔符拼接存到一个字符串中,还有一个hash的字符串,和我们在codec中看到的O.oadminO.o男O.o10O.o/tmp/admin_secret-admin-男-10-/tmp/admin_secret就对得上了

极客大挑战JAVA题目WP

但是注意到,在拼接是跳过了一个字段,也就是hash,所以拼接结果是[hash(隐藏)]-admin-男-10-/tmp/admin_secret

再看反序列化时,是直接split,然后遍历字段赋值。

极客大挑战JAVA题目WP


反序列化漏洞

极客大挑战JAVA题目WP

如果直接修改secretFile字段,在调用update接口时不会更新secretFile,但是会更新hash,而hash又处于拼接时的第一个字段,所以可以造成字符串逃逸的效果。

所以在前面脚本基础上,修改rep1(hash字段)

极客大挑战JAVA题目WP

但发生报错

极客大挑战JAVA题目WP

在源码中可以看到,hash做了过滤,不可以存在O.o

极客大挑战JAVA题目WP

Java split特性

极客大挑战JAVA题目WP

javaString.split参数其实是一个正则,所以可以这样绕过所以O.o可以替换为O<任意字符>o绕过

极客大挑战JAVA题目WP

发送payload,更新后可以看到成功读取flag

极客大挑战JAVA题目WP


END





  YAK官方资源 


Yak 语言官方教程:
https://yaklang.com/docs/intro/
Yakit 视频教程:
https://space.bilibili.com/437503777
Github下载地址:
https://github.com/yaklang/yakit
Yakit官网下载地址:
https://yaklang.com/
Yakit安装文档:
https://yaklang.com/products/download_and_install
Yakit使用文档:
https://yaklang.com/products/intro/
常见问题速查:
https://yaklang.com/products/FAQ

极客大挑战JAVA题目WP
长按识别添加工作人员
开启Yakit进阶之旅

极客大挑战JAVA题目WP

原文始发于微信公众号(Yak Project):极客大挑战JAVA题目WP

版权声明:admin 发表于 2023年12月28日 下午5:31。
转载请注明:极客大挑战JAVA题目WP | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...