Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6 — Spring Cloud Gateway Repository, das die Ausnutzung von CVE-2022-22947 für API-Sicherheitstests und Schwachstellenanalyse demonstriert. | Kitploit
Tools/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6
Web-SchwachstellenscannerSchwachstellenanalyseExploitationAPI-SicherheitstestsWebsicherheitAPI-Sicherheit
GitHubshoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6

spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6

Spring Cloud Gateway Repository, das die Ausnutzung von CVE-2022-22947 für API-Sicherheitstests und Schwachstellenanalyse demonstriert.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 1 JahrNoch nicht geprüft

//// BEARBEITEN SIE DIESE DATEI NICHT. SIE WURDE GENERIERT. Manuelle Änderungen an dieser Datei gehen verloren, wenn sie erneut generiert wird. Bearbeiten Sie stattdessen die Dateien im Verzeichnis src/main/asciidoc/. ////

image::https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-gateway/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-gateway/branch/master"] image::https://api.codacy.com/project/badge/Grade/a6885a06921e4f72a0df0b7aabd6d118["Codacy code quality", link="https://www.codacy.com/app/spring-cloud/spring-cloud-gateway?utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-gateway&utm_campaign=Badge_Grade"]

Dieses Projekt bietet ein API-Gateway, das auf dem Spring-Ökosystem aufbaut, einschließlich: Spring 5, Spring Boot 2 und Project Reactor. Spring Cloud Gateway zielt darauf ab, eine einfache und dennoch effektive Möglichkeit zu bieten, APIs zu routen und Querschnittsbelange wie Sicherheit, Überwachung/Metriken und Ausfallsicherheit bereitzustellen.

== Funktionen

  • Java 8
  • Spring Framework 5
  • Spring Boot 2
  • Dynamisches Routing
  • In das Spring Handler Mapping integriertes Routen-Matching
  • Routen-Matching auf HTTP-Anfrage (Pfad, Methode, Header, Host, usw.)
  • Filter im Geltungsbereich der passenden Route
  • Filter können nachgelagerte HTTP-Anfragen und HTTP-Antworten modifizieren (Hinzufügen/Entfernen von Headern, Hinzufügen/Entfernen von Parametern, Pfad umschreiben, Pfad setzen, Hystrix, usw.)
  • API- oder konfigurationsgesteuert
  • Unterstützt Spring Cloud DiscoveryClient zur Konfiguration von Routen

== Erstellen

:jdkversion: 1.8

=== Grundlegende Kompilierung und Tests

Um die Quelle zu erstellen, müssen Sie JDK {jdkversion} installieren.

Spring Cloud verwendet Maven für die meisten buildbezogenen Aktivitäten, und Sie sollten in der Lage sein, schnell zu beginnen, indem Sie das gewünschte Projekt klonen und Folgendes eingeben:


$ ./mvnw install

HINWEIS: Sie können auch Maven (>=3.3.3) selbst installieren und den Befehl mvn anstelle von ./mvnw in den folgenden Beispielen verwenden. Wenn Sie das tun, müssen Sie möglicherweise auch -P spring hinzufügen, wenn Ihre lokalen Maven-Einstellungen keine Repository-Deklarationen für Spring-Vorabversion-Artefakte enthalten.

HINWEIS: Beachten Sie, dass Sie möglicherweise den von Maven verfügbaren Speicher erhöhen müssen, indem Sie eine MAVEN_OPTS-Umgebungsvariable mit einem Wert wie -Xmx512m -XX:MaxPermSize=128m setzen. Wir versuchen, dies in der .mvn-Konfiguration abzudecken. Wenn Sie feststellen, dass Sie dies tun müssen, um einen Build erfolgreich abzuschließen, reichen Sie bitte ein Ticket ein, damit die Einstellungen zur Quellcodeverwaltung hinzugefügt werden.

Die Projekte, die Middleware (z. B. Redis) für Tests benötigen, erfordern in der Regel, dass eine lokale Instanz von Docker installiert und ausgeführt wird.

=== Dokumentation

Das spring-cloud-build-Modul hat ein 'docs'-Profil, und wenn Sie es aktivieren, wird es versuchen, AsciiDoc-Quellen aus src/main/asciidoc zu erstellen. Im Rahmen dieses Prozesses wird nach einer README.adoc gesucht und diese verarbeitet, indem alle Includes geladen werden, aber nicht analysiert oder gerendert, sondern nur nach ${main.basedir} kopiert (standardmäßig ${basedir}, d. h. das Wurzelverzeichnis des Projekts). Wenn es Änderungen in der README gibt, erscheint diese nach einem Maven-Build als geänderte Datei an der richtigen Stelle. Committen Sie sie einfach und pushen Sie die Änderung.

=== Arbeiten mit dem Code Wenn Sie keine IDE-Präferenz haben, empfehlen wir die Verwendung von https://www.springsource.com/developer/sts[Spring Tools Suite] oder https://eclipse.org[Eclipse] beim Arbeiten mit dem Code. Wir verwenden das https://eclipse.org/m2e/[m2eclipse] Eclipse-Plugin für die Maven-Unterstützung. Andere IDEs und Tools sollten ebenfalls problemlos funktionieren, solange sie Maven 3.3.3 oder besser verwenden.

==== Aktivieren des Spring-Maven-Profils Spring Cloud-Projekte erfordern die Aktivierung des 'spring'-Maven-Profils, um die Spring-Milestone- und Snapshot-Repositories aufzulösen. Verwenden Sie Ihre bevorzugte IDE, um dieses Profil zu aktivieren, andernfalls können Build-Fehler auftreten.

==== Importieren in Eclipse mit m2eclipse Wir empfehlen das https://eclipse.org/m2e/[m2eclipse] Eclipse-Plugin für die Arbeit mit Eclipse. Wenn Sie m2eclipse noch nicht installiert haben, ist es im 'Eclipse Marketplace' verfügbar.

HINWEIS: Ältere Versionen von m2e unterstützen Maven 3.3 nicht, daher müssen Sie m2eclipse nach dem Import der Projekte in Eclipse mitteilen, das richtige Profil für die Projekte zu verwenden. Wenn Sie viele verschiedene Fehler im Zusammenhang mit den POMs in den Projekten sehen, überprüfen Sie, ob Sie eine aktuelle Installation haben. Wenn Sie m2e nicht aktualisieren können, fügen Sie das 'spring'-Profil in Ihre settings.xml ein. Alternativ können Sie die Repository-Einstellungen aus dem 'spring'-Profil des übergeordneten POM in Ihre settings.xml kopieren.

==== Importieren in Eclipse ohne m2eclipse Wenn Sie m2eclipse nicht verwenden möchten, können Sie Eclipse-Projektmetadaten mit dem folgenden Befehl generieren:

[indent=0]

root@kitploit:~
$ ./mvnw eclipse:eclipse

Die generierten Eclipse-Projekte können importiert werden, indem Sie im Datei-Menü Vorhandene Projekte importieren auswählen.

== Mitwirken

:spring-cloud-build-branch: master

Spring Cloud wird unter der nicht restriktiven Apache 2.0-Lizenz veröffentlicht und folgt einem sehr standardmäßigen Github-Entwicklungsprozess, wobei Github Tracker für Issues und das Zusammenführen von Pull-Requests in den Master verwendet werden. Wenn Sie auch nur etwas Triviales beitragen möchten, zögern Sie nicht, aber folgen Sie den untenstehenden Richtlinien.

=== Unterzeichnen der Contributor License Agreement Bevor wir einen nicht-trivialen Patch oder Pull-Request akzeptieren, müssen Sie die https://cla.pivotal.io/sign/spring[Contributor License Agreement] unterzeichnen. Die Unterzeichnung der Contributor-Vereinbarung gewährt niemandem Commit-Rechte auf das Haupt-Repository, bedeutet jedoch, dass wir Ihre Beiträge akzeptieren können und Sie eine Autoren-Gutschrift erhalten, wenn wir dies tun. Aktive Mitwirkende könnten gebeten werden, dem Kernteam beizutreten und die Möglichkeit erhalten, Pull-Requests zusammenzuführen.

=== Verhaltenskodex Dieses Projekt hält sich an den Contributor Covenant https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[Code of Conduct]. Durch Ihre Teilnahme wird von Ihnen erwartet, diesen Kodex einzuhalten. Bitte melden Sie inakzeptables Verhalten an [email protected].

=== Code-Konventionen und -Pflege Keine davon ist für einen Pull-Request unbedingt erforderlich, aber sie helfen alle. Sie können auch nach dem ursprünglichen Pull-Request, aber vor einem Merge hinzugefügt werden.

  • Verwenden Sie die Code-Formatierungs-Konventionen des Spring Framework. Wenn Sie Eclipse verwenden, können Sie die Formatierungseinstellungen mit der Datei eclipse-code-formatter.xml aus dem https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build]-Projekt importieren. Wenn Sie IntelliJ verwenden, können Sie das https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter Plugin] verwenden, um dieselbe Datei zu importieren.
  • Stellen Sie sicher, dass alle neuen .java-Dateien einen einfachen Javadoc-Klassenkommentar mit mindestens einem @author-Tag haben, der Sie identifiziert, und vorzugsweise mindestens einen Absatz, der beschreibt, wozu die Klasse dient.
  • Fügen Sie allen neuen .java-Dateien den ASF-Lizenzkopfkommentar hinzu (kopieren Sie ihn aus vorhandenen Dateien im Projekt).
  • Fügen Sie sich selbst als @author in die .java-Dateien ein, die Sie wesentlich ändern (mehr als kosmetische Änderungen).
  • Fügen Sie einige Javadocs und, wenn Sie den Namespace ändern, einige XSD-Dokumentelemente hinzu.
  • Einige Unit-Tests würden ebenfalls sehr helfen – jemand muss es tun.
  • Wenn niemand anders Ihren Branch verwendet, führen Sie bitte ein Rebase auf den aktuellen Master (oder einen anderen Ziel-Branch im Hauptprojekt) durch.
  • Wenn Sie eine Commit-Nachricht schreiben, folgen Sie bitte https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[diesen Konventionen]. Wenn Sie ein bestehendes Issue beheben, fügen Sie bitte Fixes gh-XXXX am Ende der Commit-Nachricht hinzu (wobei XXXX die Issue-Nummer ist).

=== Checkstyle

Spring Cloud Build enthält eine Reihe von Checkstyle-Regeln. Sie finden sie im Modul spring-cloud-build-tools. Die wichtigsten Dateien im Modul sind:

.spring-cloud-build-tools/

└── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    ├── checkstyle.xml <1>    └── intellij       ├── Intellij_Project_Defaults.xml <4>       └── Intellij_Spring_Boot_Java_Conventions.xml <5>

<1> Standard-Checkstyle-Regeln <2> Dateikopf-Einrichtung <3> Standard-Unterdrückungsregeln <4> Projektstandards für Intellij, die die meisten Checkstyle-Regeln anwenden <5> Projektstil-Konventionen für Intellij, die die meisten Checkstyle-Regeln anwenden

==== Checkstyle-Konfiguration

Checkstyle-Regeln sind standardmäßig deaktiviert. Um Checkstyle zu Ihrem Projekt hinzuzufügen, definieren Sie einfach die folgenden Eigenschaften und Plugins.

.pom.xml

true <1> true <2> true <3> <4> io.spring.javaformat spring-javaformat-maven-plugin <5> org.apache.maven.plugins maven-checkstyle-plugin
root@kitploit:~
<reporting>
    <plugins>
        <plugin> <5>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
        </plugin>
    </plugins>
</reporting>
---- <1> Bricht den Build bei Checkstyle-Fehlern ab <2> Bricht den Build bei Checkstyle-Verstößen ab <3> Checkstyle analysiert auch die Testquellen <4> Fügen Sie das Spring Java Format-Plugin hinzu, das Ihren Code neu formatiert, um die meisten Checkstyle-Formatierungsregeln zu erfüllen <5> Fügen Sie Checkstyle-Plugin zu Ihren Build- und Reporting-Phasen hinzu

Wenn Sie einige Regeln unterdrücken müssen (z. B. die Zeilenlänge muss länger sein), reicht es aus, eine Datei unter ${project.root}/src/checkstyle/checkstyle-suppressions.xml mit Ihren Unterdrückungen zu definieren. Beispiel:

.projectRoot/src/checkstyle/checkstyle-suppresions.xml

----

Es ist ratsam, ${spring-cloud-build.rootFolder}/.editorconfig und ${spring-cloud-build.rootFolder}/.springformat in Ihr Projekt zu kopieren. Auf diese Weise werden einige Standardformatierungsregeln angewendet. Sie können dies tun, indem Sie dieses Skript ausführen:

root@kitploit:~
$ curl https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/.editorconfig -o .editorconfig
$ touch .springformat

=== IDE-Einrichtung

==== Intellij IDEA

Um Intellij einzurichten, sollten Sie unsere Code-Konventionen, Inspektionsprofile importieren und das Checkstyle-Plugin einrichten. Die folgenden Dateien finden Sie im https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build]-Projekt.

.spring-cloud-build-tools/

└── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    ├── checkstyle.xml <1>    └── intellij       ├── Intellij_Project_Defaults.xml <4>       └── Intellij_Spring_Boot_Java_Conventions.xml <5>

<1> Standard-Checkstyle-Regeln <2> Dateikopf-Einrichtung <3> Standard-Unterdrückungsregeln <4> Projektstandards für Intellij, die die meisten Checkstyle-Regeln anwenden <5> Projektstil-Konventionen für Intellij, die die meisten Checkstyle-Regeln anwenden

.Code-Stil

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-code-style.png[Code style]

Gehen Sie zu Datei -> Einstellungen -> Editor -> Code-Stil. Klicken Sie dort auf das Symbol neben dem Abschnitt Schema. Klicken Sie dort auf den Wert Schema importieren und wählen Sie die Option Intellij IDEA Code Style XML. Importieren Sie die Datei spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml.

.Inspektionsprofile

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-inspections.png[Code style]

Gehen Sie zu Datei -> Einstellungen -> Editor -> Inspektionen. Klicken Sie dort auf das Symbol neben dem Abschnitt Profil. Klicken Sie dort auf Profil importieren und importieren Sie die Datei spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml.

.Checkstyle

image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/docs/src/main/asciidoc/images/intellij-checkstyle.png[Checkstyle]

Damit Intellij mit Checkstyle funktioniert, müssen Sie das Checkstyle-Plugin installieren. Es ist ratsam, auch Assertions2Assertj zu installieren, um JUnit-Assertions automatisch umzuwandeln.

Gehen Sie zu Datei -> Einstellungen -> Weitere Einstellungen -> Checkstyle. Klicken Sie dort auf das +-Symbol im Abschnitt Konfigurationsdatei. Dort müssen Sie festlegen, woher die Checkstyle-Regeln bezogen werden sollen. Im obigen Bild haben wir die Regeln aus dem geklonten Spring Cloud Build-Repository übernommen. Sie können jedoch auf das GitHub-Repository von Spring Cloud Build verweisen (z. B. für die checkstyle.xml: https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml). Wir müssen die folgenden Variablen bereitstellen:

  • checkstyle.header.file - bitte verweisen Sie auf die Datei spring-cloud-build-tools/src/main/resources/checkstyle-header.txt von Spring Cloud Build entweder in Ihrem geklonten Repository oder über die URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt.
  • checkstyle.suppressions.file - Standardunterdrückungen. Bitte verweisen Sie auf die Datei spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml von Spring Cloud Build entweder in Ihrem geklonten Repository oder über die URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml.
  • checkstyle.additional.suppressions.file - diese Variable entspricht den Unterdrückungen in Ihrem lokalen Projekt. Z. B. arbeiten Sie an spring-cloud-contract. Verweisen Sie dann auf den Ordner project-root/src/checkstyle/checkstyle-suppressions.xml. Beispiel für wäre: .

WICHTIG: Denken Sie daran, den Scan-Bereich auf Alle Quellen zu setzen, da wir Checkstyle-Regeln für Produktions- und Testquellen anwenden.

=== Duplicate Finder

Spring Cloud Build bringt das basepom:duplicate-finder-maven-plugin mit, das die Markierung von doppelten und widersprüchlichen Klassen und Ressourcen im Java-Klassenpfad ermöglicht.

==== Duplicate Finder-Konfiguration

Duplicate Finder ist standardmäßig aktiviert und wird in der verify-Phase Ihres Maven-Builds ausgeführt, aber es wird nur in Ihrem Projekt wirksam, wenn Sie das duplicate-finder-maven-plugin zum build-Abschnitt der pom.xml Ihres Projekts hinzufügen.

.pom.xml [source,xml]

org.basepom.maven duplicate-finder-maven-plugin ----

Für andere Eigenschaften haben wir Standardwerte festgelegt, wie in der https://github.com/basepom/duplicate-finder-maven-plugin/wiki[Plugin-Dokumentation] aufgeführt. Sie können diese leicht überschreiben, indem Sie den Wert der ausgewählten Eigenschaft mit dem Präfix duplicate-finder-maven-plugin setzen. Setzen Sie zum Beispiel duplicate-finder-maven-plugin.skip auf true, um die Duplikatprüfung in Ihrem Build zu überspringen.

Wenn Sie ignoredClassPatterns oder ignoredResourcePatterns zu Ihrer Konfiguration hinzufügen müssen, fügen Sie diese bitte im Plugin-Konfigurationsabschnitt Ihres Projekts hinzu:

[source,xml]

org.basepom.maven duplicate-finder-maven-plugin org.joda.time.base.BaseDateTime .*module-info changelog.txt
Tool herunterladen
spring-cloud-contract
/home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml