
Exploit für CVE-2021-30180, der auf das Apache Dubbo RPC-Framework abzielt und die Remote-Code-Ausführung durch manipulierte RPC-Anfragen in anfälligen Versionen ermöglicht.
Apache Dubbo ist ein leistungsstarkes, Java-basiertes Open-Source-RPC-Framework. Bitte besuchen Sie die offizielle Website für einen Schnellstart und Dokumentationen sowie das Wiki für Neuigkeiten, FAQ und Versionshinweise.
Wir sammeln derzeit Informationen zu Dubbo-Nutzern, um Dubbo weiter zu verbessern. Bitte unterstützen Sie uns, indem Sie Ihre Informationen in Issue#1012: Gesucht: Wer nutzt Dubbo ergänzen, danke :)

Das folgende Code-Snippet stammt aus Dubbo Samples. Sie können das Beispielprojekt klonen und in das Unterverzeichnis dubbo-samples-api wechseln, bevor Sie fortfahren.
# git clone https://github.com/apache/dubbo-samples.git
# cd dubbo-samples/java/dubbo-samples-api
Es gibt eine README-Datei im Verzeichnis dubbo-samples-api. Wir empfehlen, die Beispiele in diesem Verzeichnis anhand der unten aufgeführten Anweisungen zu referenzieren:
<properties>
<dubbo.version>2.7.8</dubbo.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
</dependencies>
package org.apache.dubbo.samples.api;
public interface GreetingsService {
String sayHi(String name);
}
Siehe api/GreetingsService.java auf GitHub.
package org.apache.dubbo.samples.provider;
import org.apache.dubbo.samples.api.GreetingsService;
public class GreetingsServiceImpl implements GreetingsService {
@Override
public String sayHi(String name) {
return "hi, " + name;
}
}
Siehe provider/GreetingsServiceImpl.java auf GitHub.
package org.apache.dubbo.samples.provider;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.samples.api.GreetingsService;
import java.util.concurrent.CountDownLatch;
public class Application {
private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
public static void main(String[] args) throws Exception {
ServiceConfig<GreetingsService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
service.setInterface(GreetingsService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("dubbo service started");
new CountDownLatch(1).await();
}
}
Siehe provider/Application.java auf GitHub.
# mvn clean package
# mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.provider.Application exec:java
package org.apache.dubbo.samples.client;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.samples.api.GreetingsService;
public class Application {
private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1");
public static void main(String[] args) {
ReferenceConfig<GreetingsService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
reference.setInterface(GreetingsService.class);
GreetingsService service = reference.get();
String message = service.sayHi("dubbo");
System.out.println(message);
}
}
Siehe consumer/Application.java auf GitHub.
# mvn clean package
# mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.client.Application exec:java
Der Consumer gibt hi, dubbo auf dem Bildschirm aus.
Wenn Sie die neuesten Funktionen ausprobieren möchten, können Sie mit den folgenden Befehlen erstellen. (Java 1.8 wird zum Erstellen des Master-Branches benötigt.)
mvn clean install
Siehe CONTRIBUTING für Details zum Einreichen von Patches und zum Beitrags-Workflow.
Good first issue oder Help wanted.Bitte folgen Sie der Vorlage zum Melden von Problemen.
Bitte melden Sie Sicherheitslücken vertraulich an uns.
dubbo, um alle Dubbo-relevanten Projekte zu sammeln, die noch nicht in der apache-Gruppe angemessen sind.Die Apache Dubbo-Software ist unter der Apache-Lizenz Version 2.0 lizenziert. Siehe die LICENSE-Datei für Details.