Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
spring-cloud__spring-cloud-gateway_CVE-2022-22947_3-0-6 — Repository Spring Cloud Gateway che dimostra lo sfruttamento di CVE-2022-22947 per test di sicurezza API e analisi delle vulnerabilità. | Kitploit
Strumenti/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6
Scanner di Vulnerabilità WebAnalisi delle VulnerabilitàExploitTest di Sicurezza delle APISicurezza WebSicurezza delle API
GitHubshoucheng3/spring-cloud__spring-cloud-gateway_cve-2022-22947_3-0-6

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

Repository Spring Cloud Gateway che dimostra lo sfruttamento di CVE-2022-22947 per test di sicurezza API e analisi delle vulnerabilità.

Vedi Repository
71 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

//// NON MODIFICARE QUESTO FILE. È STATO GENERATO. Le modifiche manuali a questo file andranno perse quando verrà rigenerato. Modifica invece i file nella directory 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"]

Questo progetto fornisce un API Gateway costruito sopra l'Ecosystem Spring, includendo: Spring 5, Spring Boot 2 e Project Reactor. Spring Cloud Gateway mira a fornire un modo semplice ed efficace per instradare verso le API e offrire loro preoccupazioni trasversali come: sicurezza, monitoraggio/metriche e resilienza.

== Caratteristiche

  • Java 8
  • Spring Framework 5
  • Spring Boot 2
  • Routing dinamico
  • Correspondenza delle route integrata in Spring Handler Mapping
  • Correspondenza delle route su richieste HTTP (Path, Metodo, Header, Host, ecc...)
  • Filtri limitati alla Route corrispondente
  • I filtri possono modificare la richiesta e la risposta HTTP a valle (Aggiungi/Rimuovi Header, Aggiungi/Rimuovi Parametri, Riscrivi Path, Imposta Path, Hystrix, ecc...)
true <1> true <2> true <3> <4> io.spring.javaformat spring-javaformat-maven-plugin <5> org.apache.maven.plugins maven-checkstyle-plugin ---- <1> Fallisce la compilazione in caso di errori Checkstyle <2> Fallisce la compilazione in caso di violazioni Checkstyle <3> Checkstyle analizza anche i sorgenti di test <4> Aggiungi il plugin Spring Java Format che riformatterà il tuo codice per passare la maggior parte delle regole di formattazione Checkstyle <5> Aggiungi il plugin checkstyle alle fasi di build e reporting ---- org.basepom.maven duplicate-finder-maven-plugin ---- org.basepom.maven duplicate-finder-maven-plugin org.joda.time.base.BaseDateTime .*module-info changelog.txt
  • Guidato da API o configurazione
  • Supporta Spring Cloud DiscoveryClient per configurare le Route
  • == Compilazione

    :jdkversion: 1.8

    === Compilazione e test di base

    Per compilare il sorgente dovrai installare JDK {jdkversion}.

    Spring Cloud utilizza Maven per la maggior parte delle attività di compilazione, e dovresti riuscire a partire abbastanza velocemente clonando il progetto che ti interessa e digitando


    $ ./mvnw install

    NOTA: Puoi anche installare Maven (>=3.3.3) da solo ed eseguire il comando mvn al posto di ./mvnw negli esempi seguenti. Se lo fai, potresti anche dover aggiungere -P spring se le impostazioni locali di Maven non contengono dichiarazioni di repository per gli artefatti pre-release di spring.

    NOTA: Tieni presente che potresti dover aumentare la quantità di memoria disponibile per Maven impostando una variabile d'ambiente MAVEN_OPTS con un valore come -Xmx512m -XX:MaxPermSize=128m. Cerchiamo di coprire questo aspetto nella configurazione .mvn, quindi se scopri di doverlo fare per far riuscire una compilazione, per favore apri un ticket per aggiungere le impostazioni al controllo del codice sorgente.

    I progetti che richiedono middleware (ad es. Redis) per i test generalmente richiedono che un'istanza locale di Docker sia installata e in esecuzione.

    === Documentazione

    Il modulo spring-cloud-build ha un profilo "docs", e se lo attivi cercherà di compilare i sorgenti asciidoc da src/main/asciidoc. Come parte di questo processo, cercherà un README.adoc e lo elaborerà caricando tutti gli include, ma non analizzandolo o renderizzandolo, copiandolo semplicemente in ${main.basedir} (predefinito a ${basedir}, cioè la radice del progetto). Se ci sono modifiche nel README, appariranno dopo una compilazione Maven come un file modificato nel posto corretto. Basta eseguire il commit e inviare la modifica.

    === Lavorare con il codice Se non hai una preferenza per un IDE, ti consigliamo di usare https://www.springsource.com/developer/sts[Spring Tools Suite] o https://eclipse.org[Eclipse] quando lavori con il codice. Usiamo il plugin eclipse https://eclipse.org/m2e/[m2eclipse] per il supporto Maven. Altri IDE e strumenti dovrebbero funzionare senza problemi purché utilizzino Maven 3.3.3 o superiore.

    ==== Attivare il profilo Maven Spring I progetti Spring Cloud richiedono che il profilo Maven 'spring' sia attivato per risolvere i repository milestone e snapshot di spring. Usa il tuo IDE preferito per impostare questo profilo come attivo, altrimenti potresti riscontrare errori di compilazione.

    ==== Importare in Eclipse con m2eclipse Raccomandiamo il plugin eclipse https://eclipse.org/m2e/[m2eclipse] quando lavori con Eclipse. Se non hai già installato m2eclipse, è disponibile nel "mercato Eclipse".

    NOTA: Le versioni precedenti di m2e non supportano Maven 3.3, quindi una volta che i progetti vengono importati in Eclipse, dovrai anche dire a m2eclipse di utilizzare il profilo corretto per i progetti. Se vedi molti errori diversi relativi ai POM nei progetti, controlla di avere un'installazione aggiornata. Se non puoi aggiornare m2e, aggiungi il profilo "spring" al tuo settings.xml. In alternativa puoi copiare le impostazioni del repository dal profilo "spring" del POM genitore nel tuo settings.xml.

    ==== Importare in Eclipse senza m2eclipse Se preferisci non usare m2eclipse, puoi generare i metadati del progetto Eclipse usando il seguente comando:

    [indent=0]

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

    I progetti Eclipse generati possono essere importati selezionando import existing projects dal menu file.

    == Contribuire

    :spring-cloud-build-branch: master

    Spring Cloud è rilasciato sotto la licenza Apache 2.0 non restrittiva, e segue un processo di sviluppo Github molto standard, usando il tracker Github per i problemi e unendo le pull request in master. Se vuoi contribuire anche con qualcosa di banale, non esitare, ma segui le linee guida seguenti.

    === Firma il Contributor License Agreement Prima di accettare una patch non banale o una pull request, avremo bisogno che tu firmi il https://cla.pivotal.io/sign/spring[Contributor License Agreement]. Firmare il contratto del contributore non concede a nessuno diritti di commit sul repository principale, ma significa che possiamo accettare i tuoi contributi, e riceverai un credito d'autore se lo faremo. Ai contributori attivi potrebbe essere chiesto di unirsi al team principale, e ricevere la possibilità di unire le pull request.

    === Codice di condotta Questo progetto aderisce al codice di condotta del Contributor Covenant. Partecipando, ti impegni a rispettare questo codice. Segnala comportamenti inaccettabili a [email protected].

    === Convenzioni di codice e manutenzione della casa Nessuna di queste è essenziale per una pull request, ma tutte aiuteranno. Possono anche essere aggiunte dopo la pull request originale ma prima di un merge.

    • Usa le convenzioni di formato del codice Spring Framework. Se usi Eclipse puoi importare le impostazioni del formattatore usando il file eclipse-code-formatter.xml dal progetto https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build]. Se usi IntelliJ, puoi usare il plugin https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter] per importare lo stesso file.
    • Assicurati che tutti i nuovi file .java abbiano un semplice commento Javadoc di classe con almeno un tag @author che ti identifichi, e preferibilmente almeno un paragrafo su a cosa serve la classe.
    • Aggiungi il commento dell'intestazione della licenza ASF a tutti i nuovi file .java (copia dai file esistenti nel progetto)
    • Aggiungi te stesso come @author nei file .java che modifichi sostanzialmente (più di modifiche estetiche).
    • Aggiungi alcuni Javadoc e, se modifichi il namespace, alcuni elementi XSD doc.
    • Qualche test unitario aiuterebbe molto anche -- qualcuno deve farlo.
    • Se nessun altro sta usando il tuo branch, per favore fai il rebase sul master corrente (o altro branch di destinazione nel progetto principale).
    • Quando scrivi un messaggio di commit, segui https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html[queste convenzioni], se stai risolvendo un problema esistente, aggiungi Fixes gh-XXXX alla fine del messaggio di commit (dove XXXX è il numero del problema).

    === Checkstyle

    Spring Cloud Build viene fornito con una serie di regole checkstyle. Puoi trovarle nel modulo spring-cloud-build-tools. I file più notevoli sotto il modulo sono:

    .spring-cloud-build-tools/

    └── src    ├── checkstyle    │   └── checkstyle-suppressions.xml <3>    └── main    └── resources    ├── checkstyle-header.txt <2>    └── checkstyle.xml <1>

    <1> Regole Checkstyle predefinite <2> Impostazione dell'intestazione del file <3> Regole di soppressione predefinite

    ==== Configurazione di Checkstyle

    Le regole Checkstyle sono disabilitate per impostazione predefinita. Per aggiungere checkstyle al tuo progetto, basta definire le seguenti proprietà e plugin.

    .pom.xml

    root@kitploit:~
    <reporting>
        <plugins>
            <plugin> <5>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
        </plugins>
    </reporting>
    

    Se devi sopprimere alcune regole (ad es. la lunghezza della riga deve essere maggiore), allora ti basta definire un file in ${project.root}/src/checkstyle/checkstyle-suppressions.xml con le tue soppressioni. Esempio:

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

    È consigliabile copiare ${spring-cloud-build.rootFolder}/.editorconfig e ${spring-cloud-build.rootFolder}/.springformat nel tuo progetto. In questo modo, verranno applicate alcune regole di formattazione predefinite. Puoi farlo eseguendo questo script:

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

    === Configurazione IDE

    ==== Intellij IDEA

    Per configurare Intellij, devi importare le nostre convenzioni di codifica, i profili di ispezione e impostare il plugin checkstyle. I seguenti file si trovano nel progetto https://github.com/spring-cloud/spring-cloud-build/tree/master/spring-cloud-build-tools[Spring Cloud Build].

    .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> Regole Checkstyle predefinite <2> Impostazione dell'intestazione del file <3> Regole di soppressione predefinite <4> Impostazioni predefinite del progetto per Intellij che applicano la maggior parte delle regole Checkstyle <5> Convenzioni di stile del progetto per Intellij che applicano la maggior parte delle regole Checkstyle

    .Stile del codice

    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]

    Vai su File -> Settings -> Editor -> Code style. Lì clicca sull'icona accanto alla sezione Scheme. Lì, clicca sul valore Import Scheme e scegli l'opzione Intellij IDEA code style XML. Importa il file spring-cloud-build-tools/src/main/resources/intellij/Intellij_Spring_Boot_Java_Conventions.xml.

    .Profili di ispezione

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

    Vai su File -> Settings -> Editor -> Inspections. Lì clicca sull'icona accanto alla sezione Profile. Lì, clicca su Import Profile e importa il file spring-cloud-build-tools/src/main/resources/intellij/Intellij_Project_Defaults.xml.

    .Checkstyle

    Per far funzionare Intellij con Checkstyle, devi installare il plugin Checkstyle. È consigliabile installare anche Assertions2Assertj per convertire automaticamente le asserzioni JUnit

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

    Vai su File -> Settings -> Other settings -> Checkstyle. Lì clicca sull'icona + nella sezione Configuration file. Lì, dovrai definire da dove prendere le regole checkstyle. Nell'immagine sopra, abbiamo preso le regole dal repository clonato di Spring Cloud Build. Tuttavia, puoi puntare al repository GitHub di Spring Cloud Build (ad es. per checkstyle.xml: https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml). Dobbiamo fornire le seguenti variabili:

    • checkstyle.header.file - per favore puntalo al file spring-cloud-build-tools/src/main/resources/checkstyle-header.txt di Spring Cloud Build, sia nel tuo repo clonato o tramite l'URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/main/resources/checkstyle-header.txt.
    • checkstyle.suppressions.file - soppressioni predefinite. Per favore puntalo al file spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml di Spring Cloud Build, sia nel tuo repo clonato o tramite l'URL https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-build-tools/src/checkstyle/checkstyle-suppressions.xml.
    • checkstyle.additional.suppressions.file - questa variabile corrisponde alle soppressioni nel tuo progetto locale. Ad esempio, stai lavorando su spring-cloud-contract. Quindi punta alla cartella project-root/src/checkstyle/checkstyle-suppressions.xml. Esempio per spring-cloud-contract: /home/username/spring-cloud-contract/src/checkstyle/checkstyle-suppressions.xml.

    IMPORTANTE: Ricorda di impostare Scan Scope su All sources poiché applichiamo le regole checkstyle per i sorgenti di produzione e di test.

    === Duplicate Finder

    Spring Cloud Build include il plugin basepom:duplicate-finder-maven-plugin, che permette di segnalare classi e risorse duplicate o in conflitto sul classpath Java.

    ==== Configurazione di Duplicate Finder

    Duplicate finder è abilitato per impostazione predefinita e verrà eseguito nella fase verify della tua compilazione Maven, ma avrà effetto solo nel tuo progetto se aggiungi duplicate-finder-maven-plugin alla sezione build del pom.xml del progetto.

    .pom.xml [source,xml]

    Per altre proprietà, abbiamo impostato i predefiniti come elencati nella https://github.com/basepom/duplicate-finder-maven-plugin/wiki[documentazione del plugin].

    Puoi facilmente sovrascriverli impostando il valore della proprietà selezionata con il prefisso duplicate-finder-maven-plugin. Ad esempio, imposta duplicate-finder-maven-plugin.skip a true per saltare il controllo dei duplicati nella tua compilazione.

    Se devi aggiungere ignoredClassPatterns o ignoredResourcePatterns alla tua configurazione, assicurati di aggiungerli nella sezione di configurazione del plugin del tuo progetto:

    [source,xml]


    Scarica lo strumento